Bug 1462427 - Add managing extensions, identifying webextensions and bug fixes to Activity Stream. r=k88hudson draft
authorEd Lee <edilee@mozilla.com>
Thu, 17 May 2018 13:13:11 -0700
changeset 796606 e0a4a3e8f7db2494665637e912626275163f261d
parent 796393 24bae072acb09114c367e6b9ffde9261b2ad8a58
push id110308
push userbmo:edilee@mozilla.com
push dateThu, 17 May 2018 22:37:25 +0000
reviewersk88hudson
bugs1462427
milestone62.0a1
Bug 1462427 - Add managing extensions, identifying webextensions and bug fixes to Activity Stream. r=k88hudson MozReview-Commit-ID: AUYXbWpZU9
browser/components/newtab/aboutNewTabService.js
browser/extensions/activity-stream/common/Actions.jsm
browser/extensions/activity-stream/css/activity-stream-linux.css
browser/extensions/activity-stream/css/activity-stream-linux.css.map
browser/extensions/activity-stream/css/activity-stream-mac.css
browser/extensions/activity-stream/css/activity-stream-mac.css.map
browser/extensions/activity-stream/css/activity-stream-windows.css
browser/extensions/activity-stream/css/activity-stream-windows.css.map
browser/extensions/activity-stream/data/content/activity-stream.bundle.js
browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
browser/extensions/activity-stream/data/content/assets/fox-tail.png
browser/extensions/activity-stream/data/content/assets/illustration-addons@2x.png
browser/extensions/activity-stream/data/content/assets/illustration-privatebrowsing@2x.png
browser/extensions/activity-stream/data/content/assets/illustration-screenshots@2x.png
browser/extensions/activity-stream/data/content/assets/sync-devices.svg
browser/extensions/activity-stream/install.rdf.in
browser/extensions/activity-stream/lib/ASRouter.jsm
browser/extensions/activity-stream/lib/AboutPreferences.jsm
browser/extensions/activity-stream/lib/ActivityStream.jsm
browser/extensions/activity-stream/lib/TelemetryFeed.jsm
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ach/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/an/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/an/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/an/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ar/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ast/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/az/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/be/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bg/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/br/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/bs/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ca/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cak/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/crh/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cs/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/cy/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/da/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/de/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/el/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/eo/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/et/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/eu/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fa/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ff/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fi/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fr/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gd/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gl/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gn/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/he/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/he/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hr/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hu/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ia/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/id/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/it/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ja/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ka/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kab/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kk/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/km/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/kn/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ko/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lij/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lo/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lt/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/lv/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/mai/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mai/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mai/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mk/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ml/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/mr/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ms/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/my/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nl/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pl/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/rm/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ro/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ru/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/si/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sk/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sl/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sq/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sr/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ta/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/te/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/th/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tl/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/tr/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uk/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/ur/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/uz/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/vi/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream.html
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream.html
browser/extensions/activity-stream/prerendered/static/activity-stream-debug.html
browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
browser/extensions/activity-stream/test/functional/mochitest/browser_highlights_section.js
browser/extensions/activity-stream/test/schemas/pings.js
browser/extensions/activity-stream/test/unit/asrouter/ASRouter.test.js
browser/extensions/activity-stream/test/unit/asrouter/asrouter-content.test.jsx
browser/extensions/activity-stream/test/unit/asrouter/constants.js
browser/extensions/activity-stream/test/unit/asrouter/templates/SimpleSnippet.test.jsx
browser/extensions/activity-stream/test/unit/lib/AboutPreferences.test.js
browser/extensions/activity-stream/test/unit/lib/SnippetsFeed.test.js
browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
browser/extensions/activity-stream/test/unit/unit-entry.js
--- a/browser/components/newtab/aboutNewTabService.js
+++ b/browser/components/newtab/aboutNewTabService.js
@@ -16,17 +16,17 @@ ChromeUtils.defineModuleGetter(this, "Ab
 // Dummy references to the files that this service no longer allows loading.
 // Bug 1409054 to remove "chrome://browser/content/abouthome/aboutHome.xhtml"
 
 const TOPIC_APP_QUIT = "quit-application-granted";
 const TOPIC_LOCALES_CHANGE = "intl:app-locales-changed";
 
 // Automated tests ensure packaged locales are in this list. Copied output of:
 // https://github.com/mozilla/activity-stream/blob/master/bin/render-activity-stream-html.js
-const ACTIVITY_STREAM_LOCALES = "en-US ach an ar ast az be bg bn-BD bn-IN br bs ca cak crh cs cy da de dsb el en-CA en-GB eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM ia id it ja ka kab kk km kn ko lij lo lt ltg lv mk ml mr ms my nb-NO ne-NP nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta te th tl tr uk ur uz vi zh-CN zh-TW".split(" ");
+const ACTIVITY_STREAM_LOCALES = "en-US ach an ar ast az be bg bn-BD bn-IN br bs ca cak crh cs cy da de dsb el en-CA en-GB eo es-AR es-CL es-ES es-MX et eu fa ff fi fr fy-NL ga-IE gd gl gn gu-IN he hi-IN hr hsb hu hy-AM ia id it ja ka kab kk km kn ko lij lo lt ltg lv mai mk ml mr ms my nb-NO ne-NP nl nn-NO pa-IN pl pt-BR pt-PT rm ro ru si sk sl sq sr sv-SE ta te th tl tr uk ur uz vi zh-CN zh-TW".split(" ");
 
 const ABOUT_URL = "about:newtab";
 
 const IS_MAIN_PROCESS = Services.appinfo.processType === Services.appinfo.PROCESS_TYPE_DEFAULT;
 
 const IS_RELEASE_OR_BETA = AppConstants.RELEASE_OR_BETA;
 
 const PREF_ACTIVITY_STREAM_PRERENDER_ENABLED = "browser.newtabpage.activity-stream.prerender";
--- a/browser/extensions/activity-stream/common/Actions.jsm
+++ b/browser/extensions/activity-stream/common/Actions.jsm
@@ -46,16 +46,17 @@ for (const type of [
   "NEW_TAB_LOAD",
   "NEW_TAB_REHYDRATED",
   "NEW_TAB_STATE_REQUEST",
   "NEW_TAB_UNLOAD",
   "OPEN_DOWNLOAD_FILE",
   "OPEN_LINK",
   "OPEN_NEW_WINDOW",
   "OPEN_PRIVATE_WINDOW",
+  "OPEN_WEBEXT_SETTINGS",
   "PAGE_PRERENDERED",
   "PLACES_BOOKMARK_ADDED",
   "PLACES_BOOKMARK_REMOVED",
   "PLACES_HISTORY_CLEARED",
   "PLACES_LINKS_CHANGED",
   "PLACES_LINK_BLOCKED",
   "PLACES_LINK_DELETED",
   "PLACES_SAVED_TO_POCKET",
@@ -77,21 +78,23 @@ for (const type of [
   "SECTION_REGISTER",
   "SECTION_UPDATE",
   "SECTION_UPDATE_CARD",
   "SETTINGS_CLOSE",
   "SETTINGS_OPEN",
   "SET_PREF",
   "SHOW_DOWNLOAD_FILE",
   "SHOW_FIREFOX_ACCOUNTS",
+  "SKIPPED_SIGNIN",
   "SNIPPETS_BLOCKLIST_CLEARED",
   "SNIPPETS_BLOCKLIST_UPDATED",
   "SNIPPETS_DATA",
   "SNIPPETS_RESET",
   "SNIPPET_BLOCKED",
+  "SUBMIT_EMAIL",
   "SYSTEM_TICK",
   "TELEMETRY_IMPRESSION_STATS",
   "TELEMETRY_PERFORMANCE_EVENT",
   "TELEMETRY_UNDESIRED_EVENT",
   "TELEMETRY_USER_EVENT",
   "THEME_UPDATE",
   "TOP_SITES_CANCEL_EDIT",
   "TOP_SITES_EDIT",
@@ -105,16 +108,27 @@ for (const type of [
   "UNINIT",
   "UPDATE_SECTION_PREFS",
   "WEBEXT_CLICK",
   "WEBEXT_DISMISS"
 ]) {
   actionTypes[type] = type;
 }
 
+// These are acceptable actions for AS Router messages to have. They can show up
+// as call-to-action buttons in snippets, onboarding tour, etc.
+const ASRouterActions = {};
+for (const type of [
+  "OPEN_PRIVATE_BROWSER_WINDOW",
+  "OPEN_URL",
+  "OPEN_ABOUT_PAGE"
+]) {
+  ASRouterActions[type] = type;
+}
+
 // Helper function for creating routed actions between content and main
 // Not intended to be used by consumers
 function _RouteMessage(action, options) {
   const meta = action.meta ? Object.assign({}, action.meta) : {};
   if (!options || !options.from || !options.to) {
     throw new Error("Routed Messages must have options as the second parameter, and must at least include a .from and .to property.");
   }
   // For each of these fields, if they are passed as an option,
@@ -300,16 +314,17 @@ function WebExtEvent(type, data, importC
   if (!data || !data.source) {
     throw new Error("WebExtEvent actions should include a property \"source\", the id of the webextension that should receive the event.");
   }
   const action = {type, data};
   return importContext === UI_CODE ? AlsoToMain(action) : action;
 }
 
 this.actionTypes = actionTypes;
+this.ASRouterActions = ASRouterActions;
 
 this.actionCreators = {
   BroadcastToContent,
   UserEvent,
   ASRouterUserEvent,
   UndesiredEvent,
   PerfEvent,
   ImpressionStats,
@@ -367,15 +382,16 @@ this.actionUtils = {
   },
   _RouteMessage
 };
 
 const EXPORTED_SYMBOLS = [
   "actionTypes",
   "actionCreators",
   "actionUtils",
+  "ASRouterActions",
   "globalImportContext",
   "UI_CODE",
   "BACKGROUND_PROCESS",
   "MAIN_MESSAGE_TYPE",
   "CONTENT_MESSAGE_TYPE",
   "PRELOAD_MESSAGE_TYPE"
 ];
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css
@@ -802,16 +802,198 @@ main {
       color: var(--newtab-text-primary-color);
       font-size: 13px;
       margin-bottom: 0;
       text-align: center; }
   @media (min-width: 1122px) {
     .sections-list .section-empty-state {
       height: 370px; } }
 
+.activity-stream.welcome {
+  overflow: hidden; }
+
+.activity-stream:not(.welcome) .overlay-wrapper {
+  display: none; }
+
+.overlay-wrapper {
+  position: fixed;
+  top: 0;
+  width: 100vw;
+  height: 100vh;
+  z-index: 21000;
+  font-weight: 200;
+  transition: opacity 0.4s;
+  opacity: 0; }
+  .overlay-wrapper.show {
+    transition: none;
+    opacity: 1; }
+    .overlay-wrapper.show .firstrun-sign-in {
+      transition: opacity 1.5s, transform 1.5s;
+      transition-delay: 0.2s;
+      transform: translateY(-50%) scale(1);
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-firefox-logo {
+      transition: opacity 2.3s;
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-title,
+    .overlay-wrapper.show .firstrun-content,
+    .overlay-wrapper.show .firstrun-link {
+      transition: transform 0.5s, opacity 0.8s;
+      transform: translateY(0);
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-title {
+      transition-delay: 0.2s; }
+    .overlay-wrapper.show .firstrun-content {
+      transition-delay: 0.4s; }
+    .overlay-wrapper.show .firstrun-link {
+      transition-delay: 0.6s; }
+    .overlay-wrapper.show .fxaccounts-container {
+      transition: none;
+      opacity: 1; }
+
+.background {
+  width: 100%;
+  height: 100%;
+  display: block;
+  background: url("../data/content/assets/fox-tail.png") top -200px center no-repeat, linear-gradient(to bottom, #003EAA 40%, #004EC2 60%, #0060DF 80%, #0080FF 90%, #00C7FF 100%) top center no-repeat, #003EAA;
+  background-size: cover; }
+
+.firstrun-sign-in {
+  transform: translateY(-50%) scale(0.8);
+  position: relative;
+  top: 50%;
+  width: 358px;
+  opacity: 0;
+  background-color: #FFF;
+  float: inline-end;
+  color: #0C0C0D;
+  text-align: center;
+  padding: 10px; }
+  .firstrun-sign-in .extra-links {
+    font-size: 12px;
+    max-width: 340px;
+    margin: 14px 50px;
+    color: #676F7E;
+    cursor: default; }
+    .firstrun-sign-in .extra-links a {
+      color: #737373;
+      cursor: pointer;
+      text-decoration: underline; }
+    .firstrun-sign-in .extra-links a:hover,
+    .firstrun-sign-in .extra-links a:active,
+    .firstrun-sign-in .extra-links a:focus {
+      color: #0A84FF; }
+  .firstrun-sign-in .email-input {
+    box-shadow: none;
+    margin: auto;
+    width: 244px;
+    display: block;
+    height: 40px;
+    padding-inline-start: 20px;
+    border: 1px solid #737373;
+    border-radius: 2px;
+    font-size: 16px; }
+    .firstrun-sign-in .email-input:hover {
+      border-color: #0C0C0D; }
+  .firstrun-sign-in .form-header {
+    font-size: 18px;
+    margin: 15px auto; }
+  .firstrun-sign-in .form-header span {
+    font-size: 14px;
+    margin-top: 4px;
+    display: block; }
+  .firstrun-sign-in button {
+    border-radius: 2px;
+    display: block;
+    cursor: pointer;
+    margin: 10px auto 0; }
+  .firstrun-sign-in .continue-button {
+    font-size: 18px;
+    height: 43px;
+    width: 250px;
+    padding: 8px 0;
+    border: 1px solid #0060DF;
+    color: #FFF;
+    background-color: #0A84FF;
+    transition-duration: 150ms;
+    transition-property: background-color; }
+    .firstrun-sign-in .continue-button:not([disabled]):active {
+      background: #003EAA;
+      border-color: #002275; }
+  .firstrun-sign-in .skip-button {
+    font-size: 13px;
+    margin-top: 40px;
+    margin-bottom: 20px;
+    background-color: #FCFCFC;
+    color: #0A84FF;
+    border: 1px solid #0A84FF;
+    min-height: 24px;
+    padding: 5px 10px;
+    transition: background-color 150ms, color 150ms, border-color 150ms; }
+    .firstrun-sign-in .skip-button[disabled] {
+      background-color: #EBEBEB;
+      border-color: #B1B1B1;
+      color: #6A6A6A;
+      cursor: default;
+      opacity: 0.5; }
+    .firstrun-sign-in .skip-button:not([disabled]):hover {
+      background-color: #0A84FF;
+      border-color: #0060DF;
+      color: #FFF; }
+
+.firstrun-left-divider {
+  position: relative;
+  float: inline-start;
+  clear: both;
+  width: 435px; }
+
+.firstrun-content {
+  line-height: 1.5;
+  margin-bottom: 48px;
+  max-width: 352px;
+  background: url("../data/content/assets/sync-devices.svg") bottom center no-repeat;
+  padding-bottom: 210px; }
+
+.firstrun-link {
+  color: #FFF;
+  display: block;
+  text-decoration: underline; }
+  .firstrun-link:hover, .firstrun-link:active, .firstrun-link:focus {
+    color: #FFF; }
+
+.firstrun-title {
+  background: url("chrome://branding/content/about-logo.png") top left no-repeat;
+  background-size: 90px 90px;
+  margin: 40px 0 10px;
+  padding-top: 110px;
+  font-weight: 200; }
+
+[dir='rtl'] .firstrun-title {
+  background-position: top right; }
+
+.fxaccounts-container {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  left: 0;
+  color: #FFF;
+  height: 515px;
+  margin: auto;
+  width: 819px;
+  z-index: 10;
+  transition: opacity 0.3s;
+  opacity: 0; }
+
+.firstrun-title,
+.firstrun-content,
+.firstrun-link {
+  opacity: 0;
+  transform: translateY(-5px); }
+
 .topic {
   color: var(--newtab-section-navigation-text-color);
   font-size: 12px;
   line-height: 1.6;
   margin-top: 12px; }
   @media (min-width: 866px) {
     .topic {
       line-height: 16px; } }
@@ -1457,24 +1639,197 @@ main {
     padding: 0;
     cursor: pointer; }
     @media (min-width: 766px) {
       .SnippetBaseContainer .blockButton {
         offset-inline-end: 24px; } }
   .SnippetBaseContainer:hover .blockButton {
     display: block; }
 
+.activity-stream.modal-open {
+  overflow: hidden; }
+
+.modalOverlayOuter {
+  background: #FFF;
+  opacity: 0.93;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  width: 100%;
+  display: none;
+  z-index: 100000; }
+  .modalOverlayOuter.active {
+    display: block; }
+
+.modalOverlayInner {
+  width: 960px;
+  height: 510px;
+  position: fixed;
+  top: calc(50% - 255px);
+  left: calc(50% - 480px);
+  background: #FFF;
+  box-shadow: 0 1px 15px 0 rgba(0, 0, 0, 0.3);
+  border-radius: 4px;
+  display: none;
+  z-index: 100001; }
+  @media (max-width: 960px) {
+    .modalOverlayInner {
+      width: 100%;
+      height: 100%;
+      top: 0;
+      left: 0;
+      box-shadow: none;
+      border-radius: 0; } }
+  @media (max-width: 850px) and (max-height: 730px) {
+    .modalOverlayInner {
+      overflow-y: scroll; } }
+  .modalOverlayInner.active {
+    display: block; }
+  .modalOverlayInner h2 {
+    color: #4A4A4F;
+    text-align: center;
+    font-weight: 200;
+    margin-top: 30px;
+    font-size: 28px;
+    line-height: 37px;
+    letter-spacing: -0.13px; }
+    @media (max-width: 960px) {
+      .modalOverlayInner h2 {
+        margin-top: 100px; } }
+    @media (max-width: 850px) {
+      .modalOverlayInner h2 {
+        margin-top: 30px; } }
+  .modalOverlayInner .footer {
+    border-top: 1px solid #D7D7DB;
+    height: 70px;
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+    text-align: center;
+    background-color: #FFF; }
+    @media (max-width: 850px) and (max-height: 730px) {
+      .modalOverlayInner .footer {
+        position: sticky; } }
+    .modalOverlayInner .footer .modalButton {
+      margin-top: 20px;
+      width: 150px;
+      height: 30px;
+      padding: 4px 0 6px 0;
+      font-size: 15px; }
+
 .SimpleSnippet .title {
   display: inline;
   font-size: inherit;
   margin: 0; }
 
 .SimpleSnippet .body {
   display: inline;
   margin: 0; }
 
 .SimpleSnippet .icon {
   height: 42px;
   width: 42px;
   margin-inline-end: 12px;
   flex-shrink: 0; }
 
+.SimpleSnippet .ASRouterAnchor {
+  color: inherit;
+  text-decoration: underline; }
+
+.onboardingMessageContainer {
+  display: grid;
+  grid-column-gap: 21px;
+  grid-template-columns: auto auto auto;
+  padding-left: 30px;
+  padding-right: 30px; }
+  @media (max-width: 850px) {
+    .onboardingMessageContainer {
+      grid-template-columns: none;
+      grid-template-rows: auto auto auto;
+      padding-left: 110px;
+      padding-right: 110px; } }
+
+.onboardingMessage {
+  height: 340px;
+  text-align: center;
+  padding: 13px;
+  font-weight: 200; }
+  @media (max-width: 850px) {
+    .onboardingMessage {
+      height: 170px;
+      text-align: left;
+      padding: 10px;
+      border-bottom: 1px solid #D8D8D8;
+      display: flex;
+      margin-bottom: 11px; }
+      .onboardingMessage:last-child {
+        border: none; }
+      .onboardingMessage .onboardingContent {
+        padding-left: 10px;
+        height: 100%; }
+        .onboardingMessage .onboardingContent > span > h3 {
+          margin-top: 0;
+          margin-bottom: 4px;
+          font-weight: 400; }
+        .onboardingMessage .onboardingContent > span > p {
+          margin-top: 0;
+          line-height: 22px;
+          font-size: 15px; } }
+  .onboardingMessage .onboardingMessageImage {
+    height: 100px;
+    width: 120px;
+    background-size: 120px;
+    background-position: center center;
+    background-repeat: no-repeat;
+    display: inline-block;
+    vertical-align: middle; }
+    @media (max-width: 850px) {
+      .onboardingMessage .onboardingMessageImage {
+        height: 75px;
+        width: 160px;
+        background-size: 80px; } }
+    .onboardingMessage .onboardingMessageImage.addons {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-addons@2x.png"); }
+    .onboardingMessage .onboardingMessageImage.privatebrowsing {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-privatebrowsing@2x.png"); }
+    .onboardingMessage .onboardingMessageImage.screenshots {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-screenshots@2x.png"); }
+  .onboardingMessage .onboardingContent {
+    height: 175px; }
+    .onboardingMessage .onboardingContent > span > h3 {
+      color: #0C0C0D;
+      margin-bottom: 8px;
+      font-weight: 400; }
+    .onboardingMessage .onboardingContent > span > p {
+      color: #4A4A4F;
+      margin-top: 0;
+      height: 130px;
+      margin-bottom: 12px;
+      font-size: 15px;
+      line-height: 22px; }
+  .onboardingMessage .onboardingButton {
+    background-color: rgba(12, 12, 13, 0.1);
+    border: none;
+    width: 150px;
+    height: 30px;
+    margin-bottom: 23px;
+    padding: 4px 0 6px 0;
+    font-size: 15px; }
+    @media (max-width: 850px) {
+      .onboardingMessage .onboardingButton {
+        float: right;
+        margin-top: -60px;
+        margin-right: -10px; } }
+  .onboardingMessage::before {
+    content: '';
+    height: 220px;
+    width: 1px;
+    position: absolute;
+    background-color: #D8D8D8;
+    margin-top: 40px;
+    margin-left: 215px; }
+    @media (max-width: 850px) {
+      .onboardingMessage::before {
+        content: none; } }
+  .onboardingMessage:last-child::before {
+    content: none; }
+
 /*# sourceMappingURL=activity-stream-linux.css.map */
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-linux.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-linux.css.map
@@ -7,46 +7,52 @@
 		"../content-src/styles/_normalize.scss",
 		"../content-src/styles/_variables.scss",
 		"../content-src/styles/_theme.scss",
 		"../content-src/styles/_icons.scss",
 		"../content-src/components/Base/_Base.scss",
 		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
 		"../content-src/components/TopSites/_TopSites.scss",
 		"../content-src/components/Sections/_Sections.scss",
+		"../content-src/components/StartupOverlay/_StartupOverlay.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss",
 		"../content-src/components/ASRouterAdmin/ASRouterAdmin.scss",
 		"../content-src/asrouter/components/Button/_Button.scss",
 		"../content-src/asrouter/components/SnippetBase/_SnippetBase.scss",
-		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss"
+		"../content-src/asrouter/components/ModalOverlay/_ModalOverlay.scss",
+		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss",
+		"../content-src/asrouter/templates/OnboardingMessage/_OnboardingMessage.scss"
 	],
 	"sourcesContent": [
 		"/* This is the linux variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 6px;\n$os-infopanel-arrow-width: 20px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n",
+		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/StartupOverlay/StartupOverlay';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/components/ModalOverlay/ModalOverlay';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n@import '../asrouter/templates/OnboardingMessage/OnboardingMessage';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$white-10: rgba($white, 0.1);\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
 		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n$input-border: 1px solid var(--newtab-textbox-border);\n$input-border-active: 1px solid var(--newtab-textbox-focus-color);\n$input-error-border: 1px solid $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-icon-shadow: inset $inner-box-shadow;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n\n  // Snippets\n  --newtab-snippets-background-color: $white;\n  --newtab-snippets-hairline-color: transparent;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-icon-shadow: none;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n\n  // Snippets\n  --newtab-snippets-background-color: $grey-70;\n  --newtab-snippets-hairline-color: $white-10;\n}\n",
 		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    flex-shrink: 0;\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem {\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  color: var(--newtab-text-primary-color);\n  display: flex;\n  flex-grow: 1;\n  min-height: 100vh;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    display: block;\n  }\n\n  a {\n    color: var(--newtab-link-primary-color);\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  @media (min-width: $break-point-widest) {\n    width: $wrapper-max-width-widest;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover,\n    &:focus {\n      background-color: var(--newtab-element-hover-color);\n    }\n\n    &:active {\n      background-color: var(--newtab-element-active-color);\n    }\n  }\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: var(--newtab-text-conditional-color);\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: var(--newtab-text-conditional-color);\n    text-decoration: underline;\n  }\n}\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Eight columns\n  @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n    :nth-child(8n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n    :nth-child(8n+7) {\n      @include context-menu-open-left;\n    }\n  }\n\n  @media not all and (min-width: $break-point-widest) {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: var(--newtab-topsites-icon-shadow);\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) {\n      grid-template-columns: repeat(auto-fit, $card-width-large);\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: var(--newtab-icon-secondary-color);\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: var(--newtab-text-primary-color);\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n    }\n  }\n}\n",
+		".activity-stream {\n  &.welcome {\n    overflow: hidden;\n  }\n\n  &:not(.welcome) {\n    .overlay-wrapper {\n      display: none;\n    }\n  }\n}\n\n.overlay-wrapper {\n  position: fixed;\n  top: 0;\n  width: 100vw;\n  height: 100vh;\n  z-index: 21000;\n  font-weight: 200;\n  transition: opacity 0.4s;\n  opacity: 0;\n\n  &.show {\n    transition: none;\n    opacity: 1;\n\n    .firstrun-sign-in {\n      transition: opacity 1.5s, transform 1.5s;\n      transition-delay: 0.2s;\n      transform: translateY(-50%) scale(1);\n      opacity: 1;\n    }\n\n    .firstrun-firefox-logo {\n      transition: opacity 2.3s;\n      opacity: 1;\n    }\n\n    .firstrun-title,\n    .firstrun-content,\n    .firstrun-link {\n      transition: transform 0.5s, opacity 0.8s;\n      transform: translateY(0);\n      opacity: 1;\n    }\n\n    .firstrun-title {\n      transition-delay: 0.2s;\n    }\n\n    .firstrun-content {\n      transition-delay: 0.4s;\n    }\n\n    .firstrun-link {\n      transition-delay: 0.6s;\n    }\n\n    .fxaccounts-container {\n      transition: none;\n      opacity: 1;\n    }\n  }\n}\n\n.background {\n  width: 100%;\n  height: 100%;\n  display: block;\n  background: url('#{$image-path}fox-tail.png') top -200px center no-repeat,\n  linear-gradient(to bottom, $blue-70 40%, #004EC2 60%, $blue-60 80%, #0080FF 90%, #00C7FF 100%) top center no-repeat,\n  $blue-70;\n  background-size: cover;\n}\n\n.firstrun-sign-in {\n  transform: translateY(-50%) scale(0.8);\n  position: relative;\n  top: 50%;\n  width: 358px;\n  opacity: 0;\n  background-color: $white;\n  float: inline-end;\n  color: $grey-90;\n  text-align: center;\n  padding: 10px;\n\n  .extra-links {\n    font-size: 12px;\n    max-width: 340px;\n    margin: 14px 50px;\n    color: #676F7E;\n    cursor: default;\n\n    a {\n      color: $grey-50;\n      cursor: pointer;\n      text-decoration: underline;\n    }\n\n    a:hover,\n    a:active,\n    a:focus {\n      color: $blue-50;\n    }\n  }\n\n  .email-input {\n    box-shadow: none;\n    margin: auto;\n    width: 244px;\n    display: block;\n    height: 40px;\n    padding-inline-start: 20px;\n    border: 1px solid $grey-50;\n    border-radius: 2px;\n    font-size: 16px;\n\n    &:hover {\n      border-color: $grey-90;\n    }\n  }\n\n  .form-header {\n    font-size: 18px;\n    margin: 15px auto;\n  }\n\n  .form-header span {\n    font-size: 14px;\n    margin-top: 4px;\n    display: block;\n  }\n\n  button {\n    border-radius: 2px;\n    display: block;\n    cursor: pointer;\n    margin: 10px auto 0;\n  }\n\n  .continue-button {\n    font-size: 18px;\n    height: 43px;\n    width: 250px;\n    padding: 8px 0;\n    border: 1px solid $blue-60;\n    color: $white;\n    background-color: $blue-50;\n    transition-duration: 150ms;\n    transition-property: background-color;\n\n    &:not([disabled]):active {\n      background: $blue-70;\n      border-color: $blue-80;\n    }\n  }\n\n  .skip-button {\n    font-size: 13px;\n    margin-top: 40px;\n    margin-bottom: 20px;\n    background-color: #FCFCFC;\n    color: $blue-50;\n    border: 1px solid $blue-50;\n    min-height: 24px;\n    padding: 5px 10px;\n    transition: background-color 150ms, color 150ms, border-color 150ms;\n\n    &[disabled] {\n      background-color: #EBEBEB;\n      border-color: #B1B1B1;\n      color: #6A6A6A;\n      cursor: default;\n      opacity: 0.5;\n    }\n\n    &:not([disabled]):hover {\n      background-color: $blue-50;\n      border-color: $blue-60;\n      color: $white;\n    }\n  }\n}\n\n.firstrun-left-divider {\n  position: relative;\n  float: inline-start;\n  clear: both;\n  width: 435px;\n}\n\n.firstrun-content {\n  line-height: 1.5;\n  margin-bottom: 48px;\n  max-width: 352px;\n  background: url('#{$image-path}sync-devices.svg') bottom center no-repeat;\n  padding-bottom: 210px;\n}\n\n.firstrun-link {\n  color: $white;\n  display: block;\n  text-decoration: underline;\n\n  &:hover,\n  &:active,\n  &:focus {\n    color: $white;\n  }\n}\n\n.firstrun-title {\n  background: url('chrome://branding/content/about-logo.png') top left no-repeat;\n  background-size: 90px 90px;\n  margin: 40px 0 10px;\n  padding-top: 110px;\n  font-weight: 200;\n}\n\n[dir='rtl'] {\n  .firstrun-title {\n    background-position: top right;\n  }\n}\n\n.fxaccounts-container {\n  position: absolute;\n  bottom: 0;\n  right: 0;\n  top: 0;\n  left: 0;\n  color: $white;\n  height: 515px;\n  margin: auto;\n  width: 819px;\n  z-index: 10;\n  transition: opacity 0.3s;\n  opacity: 0;\n}\n\n.firstrun-title,\n.firstrun-content,\n.firstrun-link {\n  opacity: 0;\n  transform: translateY(-5px);\n}\n",
 		".topic {\n  color: var(--newtab-section-navigation-text-color);\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: var(--newtab-link-secondary-color);\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      // Make the border slightly shorter by offsetting from the top and bottom\n      $border-offset: 18%;\n\n      background-image: none;\n      border-image: linear-gradient(transparent $border-offset, var(--newtab-border-secondary-color) $border-offset, var(--newtab-border-secondary-color) 100% - $border-offset, transparent 100% - $border-offset) 1;\n      border-inline-end: 1px solid;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
 		".context-menu {\n  background: var(--newtab-contextmenu-background-color);\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: $border-secondary;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: var(--newtab-element-hover-color);\n        }\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: var(--newtab-overlay-color);\n  height: 100%;\n  left: 0;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: var(--newtab-modal-color);\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: var(--newtab-card-background-color);\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: var(--newtab-card-shadow);\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: var(--newtab-link-primary-color);\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: var(--newtab-link-primary-color);\n    }\n\n    .alternate ~ .card-host-name {\n      display: none;\n    }\n\n    .card-host-name.alternate {\n      display: block;\n    }\n  }\n\n  .card-preview-image-outer {\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid var(--newtab-card-hairline-color);\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: var(--newtab-text-secondary-color);\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-host-name.alternate { display: none; }\n\n  .card-download-icon {\n    float: inline-end;\n    margin-inline-start: 15px;\n    margin-top: 2px;\n\n    &.icon-download-folder {\n      height: $small-download-folder-icon-size;\n      width: $small-download-folder-icon-size;\n    }\n  }\n\n  .card-title {\n    font-size: 14px;\n    font-weight: 600;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: var(--newtab-text-tertiary-color);\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 9px 16px 9px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: var(--newtab-icon-tertiary-color);\n    height: 22px;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: 22px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  // Wide layout styles\n  @media (min-width: $break-point-widest) {\n    $line-height: 23px;\n    height: $card-height-large;\n\n    .card-preview-image-outer {\n      height: $card-preview-image-height-large;\n    }\n\n    .card-details {\n      padding: 13px 16px 12px;\n    }\n\n    .card-text {\n      max-height: 6 * $line-height + $card-title-margin;\n    }\n\n    .card-host-name {\n      font-size: 12px;\n      padding-bottom: 5px;\n    }\n\n    .card-download-icon {\n      &.icon-download-folder {\n        height: $large-download-folder-icon-size;\n        width: $large-download-folder-icon-size;\n      }\n    }\n\n    .card-title {\n      font-size: 17px;\n      line-height: $line-height;\n      margin-bottom: 0;\n    }\n\n    .card-text:not(.no-description) {\n      .card-title {\n        max-height: 3 * $line-height;\n      }\n    }\n\n    .card-description {\n      font-size: 15px;\n      line-height: $line-height;\n    }\n\n    .card-context {\n      bottom: 4px;\n      font-size: 14px;\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: var(--newtab-text-conditional-color);\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: var(--newtab-icon-secondary-color);\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    font-size: $section-title-font-size;\n    font-weight: bold;\n    margin: 0;\n    text-transform: uppercase;\n\n    span {\n      color: var(--newtab-section-header-text-color);\n      display: inline-block;\n      fill: var(--newtab-section-header-text-color);\n      vertical-align: middle;\n    }\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    height: 19px;\n    margin-bottom: 13px;\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: var(--newtab-section-header-text-color);\n      height: 100%;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: var(--newtab-element-hover-color);\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: var(--newtab-section-active-contextmenu-color);\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: var(--newtab-text-conditional-color);\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: var(--newtab-link-primary-color);\n      font-weight: bold;\n      padding-left: 3px;\n    }\n\n    button {\n      background: var(--newtab-button-secondary-color);\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n",
 		"\n.asrouter-admin {\n  $border-color: var(--newtab-border-secondary-color);\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0 0 92px;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $border-color;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $border-color;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $border-color;\n      }\n\n      &:last-child {\n        border-right: 1px solid $border-color;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n\n        .dark-theme & {\n          color: $black;\n        }\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        opacity: 0.5;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: var(--newtab-textbox-background-color);\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n",
 		".ASRouterButton {\n  white-space: nowrap;\n  border-radius: 4px;\n  border: 1px solid var(--newtab-border-secondary-color);\n  background-color: var(--newtab-button-secondary-color);\n  font-family: inherit;\n  padding: 8px 15px;\n  margin-left: 12px;\n  color: inherit;\n}\n",
 		".SnippetBaseContainer {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: var(--newtab-snippets-background-color);\n  color: var(--newtab-text-primary-color);\n  font-size: 12px;\n  line-height: 16px;\n  border-top: 1px solid var(--newtab-snippets-hairline-color);\n  box-shadow: $shadow-secondary;\n  display: flex;\n  align-items: center;\n\n  .innerWrapper {\n    margin: 0 auto;\n    display: flex;\n    align-items: center;\n    padding: 12px $section-horizontal-padding;\n\n    // This is to account for the block button on smaller screens\n    padding-inline-end: 36px;\n    @media (min-width: $break-point-large) {\n      padding-inline-end: $section-horizontal-padding;\n    }\n\n    max-width: $wrapper-max-width-large;\n    @media (min-width: $break-point-widest) {\n      max-width: $wrapper-max-width-widest;\n    }\n  }\n\n  .blockButton {\n    display: none;\n    background: none;\n    border: 0;\n    position: absolute;\n    top: 50%;\n    offset-inline-end: 12px;\n    height: 16px;\n    width: 16px;\n    background-image: url('resource://activity-stream/data/content/assets/glyph-dismiss-16.svg');\n    -moz-context-properties: fill;\n    fill: var(--newtab-icon-primary-color);\n    opacity: 0.5;\n    margin-top: -8px;\n    padding: 0;\n    cursor: pointer;\n\n    @media (min-width: 766px) {\n      offset-inline-end: 24px;\n    }\n  }\n\n  &:hover .blockButton {\n    display: block;\n  }\n}\n",
-		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n}\n"
+		".activity-stream {\n  &.modal-open {\n    overflow: hidden;\n  }\n}\n.modalOverlayOuter {\n  background: $white;\n  opacity: 0.93;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  display: none;\n  z-index: 100000;\n\n  &.active {\n    display: block;\n  }\n}\n\n.modalOverlayInner {\n  width: 960px;\n  height: 510px;\n  position: fixed;\n  top: calc(50% - 255px); // halfway down minus half the height of the modal\n  left: calc(50% - 480px); // halfway across minus half the width of the modal\n  background: $white;\n  box-shadow: 0 1px 15px 0 $black-30;\n  border-radius: 4px;\n  display: none;\n  z-index: 100001;\n\n\n  // modal takes over entire screen\n  @media(max-width: 960px) {\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    box-shadow: none;\n    border-radius: 0;\n  }\n\n  // if modal is short enough, add a vertical scroll bar\n  @media(max-width: 850px) and (max-height: 730px) {\n    overflow-y: scroll;\n  }\n\n  &.active {\n    display: block;\n  }\n\n  h2 {\n    color: $grey-60;\n    text-align: center;\n    font-weight: 200;\n    margin-top: 30px;\n    font-size: 28px;\n    line-height: 37px;\n    letter-spacing: -0.13px;\n\n    @media(max-width: 960px) {\n      margin-top: 100px;\n    }\n\n    @media(max-width: 850px) {\n      margin-top: 30px;\n    }\n  }\n\n  .footer {\n    border-top: 1px solid $grey-30;\n    height: 70px;\n    width: 100%;\n    position: absolute;\n    bottom: 0;\n    text-align: center;\n    background-color: $white;\n\n    // if modal is short enough, footer becomes sticky\n    @media(max-width: 850px) and (max-height: 730px) {\n      position: sticky;\n    }\n\n    .modalButton {\n      margin-top: 20px;\n      width: 150px;\n      height: 30px;\n      padding: 4px 0 6px 0;\n      font-size: 15px;\n    }\n  }\n}\n",
+		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n\n  .ASRouterAnchor {\n    color: inherit;\n    text-decoration: underline;\n  }\n}\n",
+		".onboardingMessageContainer {\n  display: grid;\n  grid-column-gap: 21px;\n  grid-template-columns: auto auto auto;\n  padding-left: 30px;\n  padding-right: 30px;\n\n  // at 850px, the cards go from vertical layout to horizontal layout\n  @media(max-width: 850px) {\n    grid-template-columns: none;\n    grid-template-rows: auto auto auto;\n    padding-left: 110px;\n    padding-right: 110px;\n  }\n}\n\n.onboardingMessage {\n  height: 340px;\n  text-align: center;\n  padding: 13px;\n  font-weight: 200;\n\n  // at 850px, img floats left, content floats right next to it\n  @media(max-width: 850px) {\n    height: 170px;\n    text-align: left;\n    padding: 10px;\n    border-bottom: 1px solid #D8D8D8;\n    display: flex;\n    margin-bottom: 11px;\n\n    &:last-child {\n      border: none;\n    }\n\n    .onboardingContent {\n      padding-left: 10px;\n      height: 100%;\n\n      > span > h3 {\n        margin-top: 0;\n        margin-bottom: 4px;\n        font-weight: 400;\n      }\n\n      > span > p {\n        margin-top: 0;\n        line-height: 22px;\n        font-size: 15px;\n      }\n    }\n  }\n\n  .onboardingMessageImage {\n    height: 100px;\n    width: 120px;\n    background-size: 120px;\n    background-position: center center;\n    background-repeat: no-repeat;\n    display: inline-block;\n    vertical-align: middle;\n\n\n    @media(max-width: 850px) {\n      height: 75px;\n      width: 160px;\n      background-size: 80px;\n    }\n\n    &.addons {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-addons@2x.png\");\n    }\n\n    &.privatebrowsing {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-privatebrowsing@2x.png\");\n    }\n\n    &.screenshots {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-screenshots@2x.png\");\n    }\n  }\n\n  .onboardingContent {\n    height: 175px;\n\n    > span > h3 {\n      color: $grey-90;\n      margin-bottom: 8px;\n      font-weight: 400;\n    }\n\n    > span > p {\n      color: $grey-60;\n      margin-top: 0;\n      height: 130px;\n      margin-bottom: 12px;\n      font-size: 15px;\n      line-height: 22px;\n    }\n  }\n\n  .onboardingButton {\n    background-color: $grey-90-10;\n    border: none;\n    width: 150px;\n    height: 30px;\n    margin-bottom: 23px;\n    padding: 4px 0 6px 0;\n    font-size: 15px;\n\n    // at 850px, the button shimmies down and to the right\n    @media(max-width: 850px) {\n      float: right;\n      margin-top: -60px;\n      margin-right: -10px;\n    }\n  }\n\n\n  &::before {\n    content: '';\n    height: 220px;\n    width: 1px;\n    position: absolute;\n    background-color: #D8D8D8;\n    margin-top: 40px;\n    margin-left: 215px;\n\n    // at 850px, the line goes from vertical to horizontal\n    @media(max-width: 850px) {\n      content: none;\n    }\n  }\n\n  &:last-child::before {\n    content: none;\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css
@@ -805,16 +805,198 @@ main {
       color: var(--newtab-text-primary-color);
       font-size: 13px;
       margin-bottom: 0;
       text-align: center; }
   @media (min-width: 1122px) {
     .sections-list .section-empty-state {
       height: 370px; } }
 
+.activity-stream.welcome {
+  overflow: hidden; }
+
+.activity-stream:not(.welcome) .overlay-wrapper {
+  display: none; }
+
+.overlay-wrapper {
+  position: fixed;
+  top: 0;
+  width: 100vw;
+  height: 100vh;
+  z-index: 21000;
+  font-weight: 200;
+  transition: opacity 0.4s;
+  opacity: 0; }
+  .overlay-wrapper.show {
+    transition: none;
+    opacity: 1; }
+    .overlay-wrapper.show .firstrun-sign-in {
+      transition: opacity 1.5s, transform 1.5s;
+      transition-delay: 0.2s;
+      transform: translateY(-50%) scale(1);
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-firefox-logo {
+      transition: opacity 2.3s;
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-title,
+    .overlay-wrapper.show .firstrun-content,
+    .overlay-wrapper.show .firstrun-link {
+      transition: transform 0.5s, opacity 0.8s;
+      transform: translateY(0);
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-title {
+      transition-delay: 0.2s; }
+    .overlay-wrapper.show .firstrun-content {
+      transition-delay: 0.4s; }
+    .overlay-wrapper.show .firstrun-link {
+      transition-delay: 0.6s; }
+    .overlay-wrapper.show .fxaccounts-container {
+      transition: none;
+      opacity: 1; }
+
+.background {
+  width: 100%;
+  height: 100%;
+  display: block;
+  background: url("../data/content/assets/fox-tail.png") top -200px center no-repeat, linear-gradient(to bottom, #003EAA 40%, #004EC2 60%, #0060DF 80%, #0080FF 90%, #00C7FF 100%) top center no-repeat, #003EAA;
+  background-size: cover; }
+
+.firstrun-sign-in {
+  transform: translateY(-50%) scale(0.8);
+  position: relative;
+  top: 50%;
+  width: 358px;
+  opacity: 0;
+  background-color: #FFF;
+  float: inline-end;
+  color: #0C0C0D;
+  text-align: center;
+  padding: 10px; }
+  .firstrun-sign-in .extra-links {
+    font-size: 12px;
+    max-width: 340px;
+    margin: 14px 50px;
+    color: #676F7E;
+    cursor: default; }
+    .firstrun-sign-in .extra-links a {
+      color: #737373;
+      cursor: pointer;
+      text-decoration: underline; }
+    .firstrun-sign-in .extra-links a:hover,
+    .firstrun-sign-in .extra-links a:active,
+    .firstrun-sign-in .extra-links a:focus {
+      color: #0A84FF; }
+  .firstrun-sign-in .email-input {
+    box-shadow: none;
+    margin: auto;
+    width: 244px;
+    display: block;
+    height: 40px;
+    padding-inline-start: 20px;
+    border: 1px solid #737373;
+    border-radius: 2px;
+    font-size: 16px; }
+    .firstrun-sign-in .email-input:hover {
+      border-color: #0C0C0D; }
+  .firstrun-sign-in .form-header {
+    font-size: 18px;
+    margin: 15px auto; }
+  .firstrun-sign-in .form-header span {
+    font-size: 14px;
+    margin-top: 4px;
+    display: block; }
+  .firstrun-sign-in button {
+    border-radius: 2px;
+    display: block;
+    cursor: pointer;
+    margin: 10px auto 0; }
+  .firstrun-sign-in .continue-button {
+    font-size: 18px;
+    height: 43px;
+    width: 250px;
+    padding: 8px 0;
+    border: 1px solid #0060DF;
+    color: #FFF;
+    background-color: #0A84FF;
+    transition-duration: 150ms;
+    transition-property: background-color; }
+    .firstrun-sign-in .continue-button:not([disabled]):active {
+      background: #003EAA;
+      border-color: #002275; }
+  .firstrun-sign-in .skip-button {
+    font-size: 13px;
+    margin-top: 40px;
+    margin-bottom: 20px;
+    background-color: #FCFCFC;
+    color: #0A84FF;
+    border: 1px solid #0A84FF;
+    min-height: 24px;
+    padding: 5px 10px;
+    transition: background-color 150ms, color 150ms, border-color 150ms; }
+    .firstrun-sign-in .skip-button[disabled] {
+      background-color: #EBEBEB;
+      border-color: #B1B1B1;
+      color: #6A6A6A;
+      cursor: default;
+      opacity: 0.5; }
+    .firstrun-sign-in .skip-button:not([disabled]):hover {
+      background-color: #0A84FF;
+      border-color: #0060DF;
+      color: #FFF; }
+
+.firstrun-left-divider {
+  position: relative;
+  float: inline-start;
+  clear: both;
+  width: 435px; }
+
+.firstrun-content {
+  line-height: 1.5;
+  margin-bottom: 48px;
+  max-width: 352px;
+  background: url("../data/content/assets/sync-devices.svg") bottom center no-repeat;
+  padding-bottom: 210px; }
+
+.firstrun-link {
+  color: #FFF;
+  display: block;
+  text-decoration: underline; }
+  .firstrun-link:hover, .firstrun-link:active, .firstrun-link:focus {
+    color: #FFF; }
+
+.firstrun-title {
+  background: url("chrome://branding/content/about-logo.png") top left no-repeat;
+  background-size: 90px 90px;
+  margin: 40px 0 10px;
+  padding-top: 110px;
+  font-weight: 200; }
+
+[dir='rtl'] .firstrun-title {
+  background-position: top right; }
+
+.fxaccounts-container {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  left: 0;
+  color: #FFF;
+  height: 515px;
+  margin: auto;
+  width: 819px;
+  z-index: 10;
+  transition: opacity 0.3s;
+  opacity: 0; }
+
+.firstrun-title,
+.firstrun-content,
+.firstrun-link {
+  opacity: 0;
+  transform: translateY(-5px); }
+
 .topic {
   color: var(--newtab-section-navigation-text-color);
   font-size: 12px;
   line-height: 1.6;
   margin-top: 12px; }
   @media (min-width: 866px) {
     .topic {
       line-height: 16px; } }
@@ -1460,24 +1642,197 @@ main {
     padding: 0;
     cursor: pointer; }
     @media (min-width: 766px) {
       .SnippetBaseContainer .blockButton {
         offset-inline-end: 24px; } }
   .SnippetBaseContainer:hover .blockButton {
     display: block; }
 
+.activity-stream.modal-open {
+  overflow: hidden; }
+
+.modalOverlayOuter {
+  background: #FFF;
+  opacity: 0.93;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  width: 100%;
+  display: none;
+  z-index: 100000; }
+  .modalOverlayOuter.active {
+    display: block; }
+
+.modalOverlayInner {
+  width: 960px;
+  height: 510px;
+  position: fixed;
+  top: calc(50% - 255px);
+  left: calc(50% - 480px);
+  background: #FFF;
+  box-shadow: 0 1px 15px 0 rgba(0, 0, 0, 0.3);
+  border-radius: 4px;
+  display: none;
+  z-index: 100001; }
+  @media (max-width: 960px) {
+    .modalOverlayInner {
+      width: 100%;
+      height: 100%;
+      top: 0;
+      left: 0;
+      box-shadow: none;
+      border-radius: 0; } }
+  @media (max-width: 850px) and (max-height: 730px) {
+    .modalOverlayInner {
+      overflow-y: scroll; } }
+  .modalOverlayInner.active {
+    display: block; }
+  .modalOverlayInner h2 {
+    color: #4A4A4F;
+    text-align: center;
+    font-weight: 200;
+    margin-top: 30px;
+    font-size: 28px;
+    line-height: 37px;
+    letter-spacing: -0.13px; }
+    @media (max-width: 960px) {
+      .modalOverlayInner h2 {
+        margin-top: 100px; } }
+    @media (max-width: 850px) {
+      .modalOverlayInner h2 {
+        margin-top: 30px; } }
+  .modalOverlayInner .footer {
+    border-top: 1px solid #D7D7DB;
+    height: 70px;
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+    text-align: center;
+    background-color: #FFF; }
+    @media (max-width: 850px) and (max-height: 730px) {
+      .modalOverlayInner .footer {
+        position: sticky; } }
+    .modalOverlayInner .footer .modalButton {
+      margin-top: 20px;
+      width: 150px;
+      height: 30px;
+      padding: 4px 0 6px 0;
+      font-size: 15px; }
+
 .SimpleSnippet .title {
   display: inline;
   font-size: inherit;
   margin: 0; }
 
 .SimpleSnippet .body {
   display: inline;
   margin: 0; }
 
 .SimpleSnippet .icon {
   height: 42px;
   width: 42px;
   margin-inline-end: 12px;
   flex-shrink: 0; }
 
+.SimpleSnippet .ASRouterAnchor {
+  color: inherit;
+  text-decoration: underline; }
+
+.onboardingMessageContainer {
+  display: grid;
+  grid-column-gap: 21px;
+  grid-template-columns: auto auto auto;
+  padding-left: 30px;
+  padding-right: 30px; }
+  @media (max-width: 850px) {
+    .onboardingMessageContainer {
+      grid-template-columns: none;
+      grid-template-rows: auto auto auto;
+      padding-left: 110px;
+      padding-right: 110px; } }
+
+.onboardingMessage {
+  height: 340px;
+  text-align: center;
+  padding: 13px;
+  font-weight: 200; }
+  @media (max-width: 850px) {
+    .onboardingMessage {
+      height: 170px;
+      text-align: left;
+      padding: 10px;
+      border-bottom: 1px solid #D8D8D8;
+      display: flex;
+      margin-bottom: 11px; }
+      .onboardingMessage:last-child {
+        border: none; }
+      .onboardingMessage .onboardingContent {
+        padding-left: 10px;
+        height: 100%; }
+        .onboardingMessage .onboardingContent > span > h3 {
+          margin-top: 0;
+          margin-bottom: 4px;
+          font-weight: 400; }
+        .onboardingMessage .onboardingContent > span > p {
+          margin-top: 0;
+          line-height: 22px;
+          font-size: 15px; } }
+  .onboardingMessage .onboardingMessageImage {
+    height: 100px;
+    width: 120px;
+    background-size: 120px;
+    background-position: center center;
+    background-repeat: no-repeat;
+    display: inline-block;
+    vertical-align: middle; }
+    @media (max-width: 850px) {
+      .onboardingMessage .onboardingMessageImage {
+        height: 75px;
+        width: 160px;
+        background-size: 80px; } }
+    .onboardingMessage .onboardingMessageImage.addons {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-addons@2x.png"); }
+    .onboardingMessage .onboardingMessageImage.privatebrowsing {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-privatebrowsing@2x.png"); }
+    .onboardingMessage .onboardingMessageImage.screenshots {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-screenshots@2x.png"); }
+  .onboardingMessage .onboardingContent {
+    height: 175px; }
+    .onboardingMessage .onboardingContent > span > h3 {
+      color: #0C0C0D;
+      margin-bottom: 8px;
+      font-weight: 400; }
+    .onboardingMessage .onboardingContent > span > p {
+      color: #4A4A4F;
+      margin-top: 0;
+      height: 130px;
+      margin-bottom: 12px;
+      font-size: 15px;
+      line-height: 22px; }
+  .onboardingMessage .onboardingButton {
+    background-color: rgba(12, 12, 13, 0.1);
+    border: none;
+    width: 150px;
+    height: 30px;
+    margin-bottom: 23px;
+    padding: 4px 0 6px 0;
+    font-size: 15px; }
+    @media (max-width: 850px) {
+      .onboardingMessage .onboardingButton {
+        float: right;
+        margin-top: -60px;
+        margin-right: -10px; } }
+  .onboardingMessage::before {
+    content: '';
+    height: 220px;
+    width: 1px;
+    position: absolute;
+    background-color: #D8D8D8;
+    margin-top: 40px;
+    margin-left: 215px; }
+    @media (max-width: 850px) {
+      .onboardingMessage::before {
+        content: none; } }
+  .onboardingMessage:last-child::before {
+    content: none; }
+
 /*# sourceMappingURL=activity-stream-mac.css.map */
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-mac.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-mac.css.map
@@ -7,46 +7,52 @@
 		"../content-src/styles/_normalize.scss",
 		"../content-src/styles/_variables.scss",
 		"../content-src/styles/_theme.scss",
 		"../content-src/styles/_icons.scss",
 		"../content-src/components/Base/_Base.scss",
 		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
 		"../content-src/components/TopSites/_TopSites.scss",
 		"../content-src/components/Sections/_Sections.scss",
+		"../content-src/components/StartupOverlay/_StartupOverlay.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss",
 		"../content-src/components/ASRouterAdmin/ASRouterAdmin.scss",
 		"../content-src/asrouter/components/Button/_Button.scss",
 		"../content-src/asrouter/components/SnippetBase/_SnippetBase.scss",
-		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss"
+		"../content-src/asrouter/components/ModalOverlay/_ModalOverlay.scss",
+		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss",
+		"../content-src/asrouter/templates/OnboardingMessage/_OnboardingMessage.scss"
 	],
 	"sourcesContent": [
 		"/* This is the mac variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 7px;\n$os-infopanel-arrow-width: 18px;\n\n.dark-theme {\n  -moz-osx-font-smoothing: grayscale;\n}\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n",
+		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/StartupOverlay/StartupOverlay';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/components/ModalOverlay/ModalOverlay';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n@import '../asrouter/templates/OnboardingMessage/OnboardingMessage';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$white-10: rgba($white, 0.1);\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
 		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n$input-border: 1px solid var(--newtab-textbox-border);\n$input-border-active: 1px solid var(--newtab-textbox-focus-color);\n$input-error-border: 1px solid $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-icon-shadow: inset $inner-box-shadow;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n\n  // Snippets\n  --newtab-snippets-background-color: $white;\n  --newtab-snippets-hairline-color: transparent;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-icon-shadow: none;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n\n  // Snippets\n  --newtab-snippets-background-color: $grey-70;\n  --newtab-snippets-hairline-color: $white-10;\n}\n",
 		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    flex-shrink: 0;\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem {\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  color: var(--newtab-text-primary-color);\n  display: flex;\n  flex-grow: 1;\n  min-height: 100vh;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    display: block;\n  }\n\n  a {\n    color: var(--newtab-link-primary-color);\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  @media (min-width: $break-point-widest) {\n    width: $wrapper-max-width-widest;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover,\n    &:focus {\n      background-color: var(--newtab-element-hover-color);\n    }\n\n    &:active {\n      background-color: var(--newtab-element-active-color);\n    }\n  }\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: var(--newtab-text-conditional-color);\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: var(--newtab-text-conditional-color);\n    text-decoration: underline;\n  }\n}\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Eight columns\n  @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n    :nth-child(8n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n    :nth-child(8n+7) {\n      @include context-menu-open-left;\n    }\n  }\n\n  @media not all and (min-width: $break-point-widest) {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: var(--newtab-topsites-icon-shadow);\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) {\n      grid-template-columns: repeat(auto-fit, $card-width-large);\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: var(--newtab-icon-secondary-color);\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: var(--newtab-text-primary-color);\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n    }\n  }\n}\n",
+		".activity-stream {\n  &.welcome {\n    overflow: hidden;\n  }\n\n  &:not(.welcome) {\n    .overlay-wrapper {\n      display: none;\n    }\n  }\n}\n\n.overlay-wrapper {\n  position: fixed;\n  top: 0;\n  width: 100vw;\n  height: 100vh;\n  z-index: 21000;\n  font-weight: 200;\n  transition: opacity 0.4s;\n  opacity: 0;\n\n  &.show {\n    transition: none;\n    opacity: 1;\n\n    .firstrun-sign-in {\n      transition: opacity 1.5s, transform 1.5s;\n      transition-delay: 0.2s;\n      transform: translateY(-50%) scale(1);\n      opacity: 1;\n    }\n\n    .firstrun-firefox-logo {\n      transition: opacity 2.3s;\n      opacity: 1;\n    }\n\n    .firstrun-title,\n    .firstrun-content,\n    .firstrun-link {\n      transition: transform 0.5s, opacity 0.8s;\n      transform: translateY(0);\n      opacity: 1;\n    }\n\n    .firstrun-title {\n      transition-delay: 0.2s;\n    }\n\n    .firstrun-content {\n      transition-delay: 0.4s;\n    }\n\n    .firstrun-link {\n      transition-delay: 0.6s;\n    }\n\n    .fxaccounts-container {\n      transition: none;\n      opacity: 1;\n    }\n  }\n}\n\n.background {\n  width: 100%;\n  height: 100%;\n  display: block;\n  background: url('#{$image-path}fox-tail.png') top -200px center no-repeat,\n  linear-gradient(to bottom, $blue-70 40%, #004EC2 60%, $blue-60 80%, #0080FF 90%, #00C7FF 100%) top center no-repeat,\n  $blue-70;\n  background-size: cover;\n}\n\n.firstrun-sign-in {\n  transform: translateY(-50%) scale(0.8);\n  position: relative;\n  top: 50%;\n  width: 358px;\n  opacity: 0;\n  background-color: $white;\n  float: inline-end;\n  color: $grey-90;\n  text-align: center;\n  padding: 10px;\n\n  .extra-links {\n    font-size: 12px;\n    max-width: 340px;\n    margin: 14px 50px;\n    color: #676F7E;\n    cursor: default;\n\n    a {\n      color: $grey-50;\n      cursor: pointer;\n      text-decoration: underline;\n    }\n\n    a:hover,\n    a:active,\n    a:focus {\n      color: $blue-50;\n    }\n  }\n\n  .email-input {\n    box-shadow: none;\n    margin: auto;\n    width: 244px;\n    display: block;\n    height: 40px;\n    padding-inline-start: 20px;\n    border: 1px solid $grey-50;\n    border-radius: 2px;\n    font-size: 16px;\n\n    &:hover {\n      border-color: $grey-90;\n    }\n  }\n\n  .form-header {\n    font-size: 18px;\n    margin: 15px auto;\n  }\n\n  .form-header span {\n    font-size: 14px;\n    margin-top: 4px;\n    display: block;\n  }\n\n  button {\n    border-radius: 2px;\n    display: block;\n    cursor: pointer;\n    margin: 10px auto 0;\n  }\n\n  .continue-button {\n    font-size: 18px;\n    height: 43px;\n    width: 250px;\n    padding: 8px 0;\n    border: 1px solid $blue-60;\n    color: $white;\n    background-color: $blue-50;\n    transition-duration: 150ms;\n    transition-property: background-color;\n\n    &:not([disabled]):active {\n      background: $blue-70;\n      border-color: $blue-80;\n    }\n  }\n\n  .skip-button {\n    font-size: 13px;\n    margin-top: 40px;\n    margin-bottom: 20px;\n    background-color: #FCFCFC;\n    color: $blue-50;\n    border: 1px solid $blue-50;\n    min-height: 24px;\n    padding: 5px 10px;\n    transition: background-color 150ms, color 150ms, border-color 150ms;\n\n    &[disabled] {\n      background-color: #EBEBEB;\n      border-color: #B1B1B1;\n      color: #6A6A6A;\n      cursor: default;\n      opacity: 0.5;\n    }\n\n    &:not([disabled]):hover {\n      background-color: $blue-50;\n      border-color: $blue-60;\n      color: $white;\n    }\n  }\n}\n\n.firstrun-left-divider {\n  position: relative;\n  float: inline-start;\n  clear: both;\n  width: 435px;\n}\n\n.firstrun-content {\n  line-height: 1.5;\n  margin-bottom: 48px;\n  max-width: 352px;\n  background: url('#{$image-path}sync-devices.svg') bottom center no-repeat;\n  padding-bottom: 210px;\n}\n\n.firstrun-link {\n  color: $white;\n  display: block;\n  text-decoration: underline;\n\n  &:hover,\n  &:active,\n  &:focus {\n    color: $white;\n  }\n}\n\n.firstrun-title {\n  background: url('chrome://branding/content/about-logo.png') top left no-repeat;\n  background-size: 90px 90px;\n  margin: 40px 0 10px;\n  padding-top: 110px;\n  font-weight: 200;\n}\n\n[dir='rtl'] {\n  .firstrun-title {\n    background-position: top right;\n  }\n}\n\n.fxaccounts-container {\n  position: absolute;\n  bottom: 0;\n  right: 0;\n  top: 0;\n  left: 0;\n  color: $white;\n  height: 515px;\n  margin: auto;\n  width: 819px;\n  z-index: 10;\n  transition: opacity 0.3s;\n  opacity: 0;\n}\n\n.firstrun-title,\n.firstrun-content,\n.firstrun-link {\n  opacity: 0;\n  transform: translateY(-5px);\n}\n",
 		".topic {\n  color: var(--newtab-section-navigation-text-color);\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: var(--newtab-link-secondary-color);\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      // Make the border slightly shorter by offsetting from the top and bottom\n      $border-offset: 18%;\n\n      background-image: none;\n      border-image: linear-gradient(transparent $border-offset, var(--newtab-border-secondary-color) $border-offset, var(--newtab-border-secondary-color) 100% - $border-offset, transparent 100% - $border-offset) 1;\n      border-inline-end: 1px solid;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
 		".context-menu {\n  background: var(--newtab-contextmenu-background-color);\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: $border-secondary;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: var(--newtab-element-hover-color);\n        }\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: var(--newtab-overlay-color);\n  height: 100%;\n  left: 0;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: var(--newtab-modal-color);\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: var(--newtab-card-background-color);\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: var(--newtab-card-shadow);\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: var(--newtab-link-primary-color);\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: var(--newtab-link-primary-color);\n    }\n\n    .alternate ~ .card-host-name {\n      display: none;\n    }\n\n    .card-host-name.alternate {\n      display: block;\n    }\n  }\n\n  .card-preview-image-outer {\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid var(--newtab-card-hairline-color);\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: var(--newtab-text-secondary-color);\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-host-name.alternate { display: none; }\n\n  .card-download-icon {\n    float: inline-end;\n    margin-inline-start: 15px;\n    margin-top: 2px;\n\n    &.icon-download-folder {\n      height: $small-download-folder-icon-size;\n      width: $small-download-folder-icon-size;\n    }\n  }\n\n  .card-title {\n    font-size: 14px;\n    font-weight: 600;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: var(--newtab-text-tertiary-color);\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 9px 16px 9px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: var(--newtab-icon-tertiary-color);\n    height: 22px;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: 22px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  // Wide layout styles\n  @media (min-width: $break-point-widest) {\n    $line-height: 23px;\n    height: $card-height-large;\n\n    .card-preview-image-outer {\n      height: $card-preview-image-height-large;\n    }\n\n    .card-details {\n      padding: 13px 16px 12px;\n    }\n\n    .card-text {\n      max-height: 6 * $line-height + $card-title-margin;\n    }\n\n    .card-host-name {\n      font-size: 12px;\n      padding-bottom: 5px;\n    }\n\n    .card-download-icon {\n      &.icon-download-folder {\n        height: $large-download-folder-icon-size;\n        width: $large-download-folder-icon-size;\n      }\n    }\n\n    .card-title {\n      font-size: 17px;\n      line-height: $line-height;\n      margin-bottom: 0;\n    }\n\n    .card-text:not(.no-description) {\n      .card-title {\n        max-height: 3 * $line-height;\n      }\n    }\n\n    .card-description {\n      font-size: 15px;\n      line-height: $line-height;\n    }\n\n    .card-context {\n      bottom: 4px;\n      font-size: 14px;\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: var(--newtab-text-conditional-color);\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: var(--newtab-icon-secondary-color);\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    font-size: $section-title-font-size;\n    font-weight: bold;\n    margin: 0;\n    text-transform: uppercase;\n\n    span {\n      color: var(--newtab-section-header-text-color);\n      display: inline-block;\n      fill: var(--newtab-section-header-text-color);\n      vertical-align: middle;\n    }\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    height: 19px;\n    margin-bottom: 13px;\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: var(--newtab-section-header-text-color);\n      height: 100%;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: var(--newtab-element-hover-color);\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: var(--newtab-section-active-contextmenu-color);\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: var(--newtab-text-conditional-color);\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: var(--newtab-link-primary-color);\n      font-weight: bold;\n      padding-left: 3px;\n    }\n\n    button {\n      background: var(--newtab-button-secondary-color);\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n",
 		"\n.asrouter-admin {\n  $border-color: var(--newtab-border-secondary-color);\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0 0 92px;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $border-color;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $border-color;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $border-color;\n      }\n\n      &:last-child {\n        border-right: 1px solid $border-color;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n\n        .dark-theme & {\n          color: $black;\n        }\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        opacity: 0.5;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: var(--newtab-textbox-background-color);\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n",
 		".ASRouterButton {\n  white-space: nowrap;\n  border-radius: 4px;\n  border: 1px solid var(--newtab-border-secondary-color);\n  background-color: var(--newtab-button-secondary-color);\n  font-family: inherit;\n  padding: 8px 15px;\n  margin-left: 12px;\n  color: inherit;\n}\n",
 		".SnippetBaseContainer {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: var(--newtab-snippets-background-color);\n  color: var(--newtab-text-primary-color);\n  font-size: 12px;\n  line-height: 16px;\n  border-top: 1px solid var(--newtab-snippets-hairline-color);\n  box-shadow: $shadow-secondary;\n  display: flex;\n  align-items: center;\n\n  .innerWrapper {\n    margin: 0 auto;\n    display: flex;\n    align-items: center;\n    padding: 12px $section-horizontal-padding;\n\n    // This is to account for the block button on smaller screens\n    padding-inline-end: 36px;\n    @media (min-width: $break-point-large) {\n      padding-inline-end: $section-horizontal-padding;\n    }\n\n    max-width: $wrapper-max-width-large;\n    @media (min-width: $break-point-widest) {\n      max-width: $wrapper-max-width-widest;\n    }\n  }\n\n  .blockButton {\n    display: none;\n    background: none;\n    border: 0;\n    position: absolute;\n    top: 50%;\n    offset-inline-end: 12px;\n    height: 16px;\n    width: 16px;\n    background-image: url('resource://activity-stream/data/content/assets/glyph-dismiss-16.svg');\n    -moz-context-properties: fill;\n    fill: var(--newtab-icon-primary-color);\n    opacity: 0.5;\n    margin-top: -8px;\n    padding: 0;\n    cursor: pointer;\n\n    @media (min-width: 766px) {\n      offset-inline-end: 24px;\n    }\n  }\n\n  &:hover .blockButton {\n    display: block;\n  }\n}\n",
-		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n}\n"
+		".activity-stream {\n  &.modal-open {\n    overflow: hidden;\n  }\n}\n.modalOverlayOuter {\n  background: $white;\n  opacity: 0.93;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  display: none;\n  z-index: 100000;\n\n  &.active {\n    display: block;\n  }\n}\n\n.modalOverlayInner {\n  width: 960px;\n  height: 510px;\n  position: fixed;\n  top: calc(50% - 255px); // halfway down minus half the height of the modal\n  left: calc(50% - 480px); // halfway across minus half the width of the modal\n  background: $white;\n  box-shadow: 0 1px 15px 0 $black-30;\n  border-radius: 4px;\n  display: none;\n  z-index: 100001;\n\n\n  // modal takes over entire screen\n  @media(max-width: 960px) {\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    box-shadow: none;\n    border-radius: 0;\n  }\n\n  // if modal is short enough, add a vertical scroll bar\n  @media(max-width: 850px) and (max-height: 730px) {\n    overflow-y: scroll;\n  }\n\n  &.active {\n    display: block;\n  }\n\n  h2 {\n    color: $grey-60;\n    text-align: center;\n    font-weight: 200;\n    margin-top: 30px;\n    font-size: 28px;\n    line-height: 37px;\n    letter-spacing: -0.13px;\n\n    @media(max-width: 960px) {\n      margin-top: 100px;\n    }\n\n    @media(max-width: 850px) {\n      margin-top: 30px;\n    }\n  }\n\n  .footer {\n    border-top: 1px solid $grey-30;\n    height: 70px;\n    width: 100%;\n    position: absolute;\n    bottom: 0;\n    text-align: center;\n    background-color: $white;\n\n    // if modal is short enough, footer becomes sticky\n    @media(max-width: 850px) and (max-height: 730px) {\n      position: sticky;\n    }\n\n    .modalButton {\n      margin-top: 20px;\n      width: 150px;\n      height: 30px;\n      padding: 4px 0 6px 0;\n      font-size: 15px;\n    }\n  }\n}\n",
+		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n\n  .ASRouterAnchor {\n    color: inherit;\n    text-decoration: underline;\n  }\n}\n",
+		".onboardingMessageContainer {\n  display: grid;\n  grid-column-gap: 21px;\n  grid-template-columns: auto auto auto;\n  padding-left: 30px;\n  padding-right: 30px;\n\n  // at 850px, the cards go from vertical layout to horizontal layout\n  @media(max-width: 850px) {\n    grid-template-columns: none;\n    grid-template-rows: auto auto auto;\n    padding-left: 110px;\n    padding-right: 110px;\n  }\n}\n\n.onboardingMessage {\n  height: 340px;\n  text-align: center;\n  padding: 13px;\n  font-weight: 200;\n\n  // at 850px, img floats left, content floats right next to it\n  @media(max-width: 850px) {\n    height: 170px;\n    text-align: left;\n    padding: 10px;\n    border-bottom: 1px solid #D8D8D8;\n    display: flex;\n    margin-bottom: 11px;\n\n    &:last-child {\n      border: none;\n    }\n\n    .onboardingContent {\n      padding-left: 10px;\n      height: 100%;\n\n      > span > h3 {\n        margin-top: 0;\n        margin-bottom: 4px;\n        font-weight: 400;\n      }\n\n      > span > p {\n        margin-top: 0;\n        line-height: 22px;\n        font-size: 15px;\n      }\n    }\n  }\n\n  .onboardingMessageImage {\n    height: 100px;\n    width: 120px;\n    background-size: 120px;\n    background-position: center center;\n    background-repeat: no-repeat;\n    display: inline-block;\n    vertical-align: middle;\n\n\n    @media(max-width: 850px) {\n      height: 75px;\n      width: 160px;\n      background-size: 80px;\n    }\n\n    &.addons {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-addons@2x.png\");\n    }\n\n    &.privatebrowsing {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-privatebrowsing@2x.png\");\n    }\n\n    &.screenshots {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-screenshots@2x.png\");\n    }\n  }\n\n  .onboardingContent {\n    height: 175px;\n\n    > span > h3 {\n      color: $grey-90;\n      margin-bottom: 8px;\n      font-weight: 400;\n    }\n\n    > span > p {\n      color: $grey-60;\n      margin-top: 0;\n      height: 130px;\n      margin-bottom: 12px;\n      font-size: 15px;\n      line-height: 22px;\n    }\n  }\n\n  .onboardingButton {\n    background-color: $grey-90-10;\n    border: none;\n    width: 150px;\n    height: 30px;\n    margin-bottom: 23px;\n    padding: 4px 0 6px 0;\n    font-size: 15px;\n\n    // at 850px, the button shimmies down and to the right\n    @media(max-width: 850px) {\n      float: right;\n      margin-top: -60px;\n      margin-right: -10px;\n    }\n  }\n\n\n  &::before {\n    content: '';\n    height: 220px;\n    width: 1px;\n    position: absolute;\n    background-color: #D8D8D8;\n    margin-top: 40px;\n    margin-left: 215px;\n\n    // at 850px, the line goes from vertical to horizontal\n    @media(max-width: 850px) {\n      content: none;\n    }\n  }\n\n  &:last-child::before {\n    content: none;\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css
@@ -802,16 +802,198 @@ main {
       color: var(--newtab-text-primary-color);
       font-size: 13px;
       margin-bottom: 0;
       text-align: center; }
   @media (min-width: 1122px) {
     .sections-list .section-empty-state {
       height: 370px; } }
 
+.activity-stream.welcome {
+  overflow: hidden; }
+
+.activity-stream:not(.welcome) .overlay-wrapper {
+  display: none; }
+
+.overlay-wrapper {
+  position: fixed;
+  top: 0;
+  width: 100vw;
+  height: 100vh;
+  z-index: 21000;
+  font-weight: 200;
+  transition: opacity 0.4s;
+  opacity: 0; }
+  .overlay-wrapper.show {
+    transition: none;
+    opacity: 1; }
+    .overlay-wrapper.show .firstrun-sign-in {
+      transition: opacity 1.5s, transform 1.5s;
+      transition-delay: 0.2s;
+      transform: translateY(-50%) scale(1);
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-firefox-logo {
+      transition: opacity 2.3s;
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-title,
+    .overlay-wrapper.show .firstrun-content,
+    .overlay-wrapper.show .firstrun-link {
+      transition: transform 0.5s, opacity 0.8s;
+      transform: translateY(0);
+      opacity: 1; }
+    .overlay-wrapper.show .firstrun-title {
+      transition-delay: 0.2s; }
+    .overlay-wrapper.show .firstrun-content {
+      transition-delay: 0.4s; }
+    .overlay-wrapper.show .firstrun-link {
+      transition-delay: 0.6s; }
+    .overlay-wrapper.show .fxaccounts-container {
+      transition: none;
+      opacity: 1; }
+
+.background {
+  width: 100%;
+  height: 100%;
+  display: block;
+  background: url("../data/content/assets/fox-tail.png") top -200px center no-repeat, linear-gradient(to bottom, #003EAA 40%, #004EC2 60%, #0060DF 80%, #0080FF 90%, #00C7FF 100%) top center no-repeat, #003EAA;
+  background-size: cover; }
+
+.firstrun-sign-in {
+  transform: translateY(-50%) scale(0.8);
+  position: relative;
+  top: 50%;
+  width: 358px;
+  opacity: 0;
+  background-color: #FFF;
+  float: inline-end;
+  color: #0C0C0D;
+  text-align: center;
+  padding: 10px; }
+  .firstrun-sign-in .extra-links {
+    font-size: 12px;
+    max-width: 340px;
+    margin: 14px 50px;
+    color: #676F7E;
+    cursor: default; }
+    .firstrun-sign-in .extra-links a {
+      color: #737373;
+      cursor: pointer;
+      text-decoration: underline; }
+    .firstrun-sign-in .extra-links a:hover,
+    .firstrun-sign-in .extra-links a:active,
+    .firstrun-sign-in .extra-links a:focus {
+      color: #0A84FF; }
+  .firstrun-sign-in .email-input {
+    box-shadow: none;
+    margin: auto;
+    width: 244px;
+    display: block;
+    height: 40px;
+    padding-inline-start: 20px;
+    border: 1px solid #737373;
+    border-radius: 2px;
+    font-size: 16px; }
+    .firstrun-sign-in .email-input:hover {
+      border-color: #0C0C0D; }
+  .firstrun-sign-in .form-header {
+    font-size: 18px;
+    margin: 15px auto; }
+  .firstrun-sign-in .form-header span {
+    font-size: 14px;
+    margin-top: 4px;
+    display: block; }
+  .firstrun-sign-in button {
+    border-radius: 2px;
+    display: block;
+    cursor: pointer;
+    margin: 10px auto 0; }
+  .firstrun-sign-in .continue-button {
+    font-size: 18px;
+    height: 43px;
+    width: 250px;
+    padding: 8px 0;
+    border: 1px solid #0060DF;
+    color: #FFF;
+    background-color: #0A84FF;
+    transition-duration: 150ms;
+    transition-property: background-color; }
+    .firstrun-sign-in .continue-button:not([disabled]):active {
+      background: #003EAA;
+      border-color: #002275; }
+  .firstrun-sign-in .skip-button {
+    font-size: 13px;
+    margin-top: 40px;
+    margin-bottom: 20px;
+    background-color: #FCFCFC;
+    color: #0A84FF;
+    border: 1px solid #0A84FF;
+    min-height: 24px;
+    padding: 5px 10px;
+    transition: background-color 150ms, color 150ms, border-color 150ms; }
+    .firstrun-sign-in .skip-button[disabled] {
+      background-color: #EBEBEB;
+      border-color: #B1B1B1;
+      color: #6A6A6A;
+      cursor: default;
+      opacity: 0.5; }
+    .firstrun-sign-in .skip-button:not([disabled]):hover {
+      background-color: #0A84FF;
+      border-color: #0060DF;
+      color: #FFF; }
+
+.firstrun-left-divider {
+  position: relative;
+  float: inline-start;
+  clear: both;
+  width: 435px; }
+
+.firstrun-content {
+  line-height: 1.5;
+  margin-bottom: 48px;
+  max-width: 352px;
+  background: url("../data/content/assets/sync-devices.svg") bottom center no-repeat;
+  padding-bottom: 210px; }
+
+.firstrun-link {
+  color: #FFF;
+  display: block;
+  text-decoration: underline; }
+  .firstrun-link:hover, .firstrun-link:active, .firstrun-link:focus {
+    color: #FFF; }
+
+.firstrun-title {
+  background: url("chrome://branding/content/about-logo.png") top left no-repeat;
+  background-size: 90px 90px;
+  margin: 40px 0 10px;
+  padding-top: 110px;
+  font-weight: 200; }
+
+[dir='rtl'] .firstrun-title {
+  background-position: top right; }
+
+.fxaccounts-container {
+  position: absolute;
+  bottom: 0;
+  right: 0;
+  top: 0;
+  left: 0;
+  color: #FFF;
+  height: 515px;
+  margin: auto;
+  width: 819px;
+  z-index: 10;
+  transition: opacity 0.3s;
+  opacity: 0; }
+
+.firstrun-title,
+.firstrun-content,
+.firstrun-link {
+  opacity: 0;
+  transform: translateY(-5px); }
+
 .topic {
   color: var(--newtab-section-navigation-text-color);
   font-size: 12px;
   line-height: 1.6;
   margin-top: 12px; }
   @media (min-width: 866px) {
     .topic {
       line-height: 16px; } }
@@ -1457,24 +1639,197 @@ main {
     padding: 0;
     cursor: pointer; }
     @media (min-width: 766px) {
       .SnippetBaseContainer .blockButton {
         offset-inline-end: 24px; } }
   .SnippetBaseContainer:hover .blockButton {
     display: block; }
 
+.activity-stream.modal-open {
+  overflow: hidden; }
+
+.modalOverlayOuter {
+  background: #FFF;
+  opacity: 0.93;
+  height: 100%;
+  position: fixed;
+  top: 0;
+  width: 100%;
+  display: none;
+  z-index: 100000; }
+  .modalOverlayOuter.active {
+    display: block; }
+
+.modalOverlayInner {
+  width: 960px;
+  height: 510px;
+  position: fixed;
+  top: calc(50% - 255px);
+  left: calc(50% - 480px);
+  background: #FFF;
+  box-shadow: 0 1px 15px 0 rgba(0, 0, 0, 0.3);
+  border-radius: 4px;
+  display: none;
+  z-index: 100001; }
+  @media (max-width: 960px) {
+    .modalOverlayInner {
+      width: 100%;
+      height: 100%;
+      top: 0;
+      left: 0;
+      box-shadow: none;
+      border-radius: 0; } }
+  @media (max-width: 850px) and (max-height: 730px) {
+    .modalOverlayInner {
+      overflow-y: scroll; } }
+  .modalOverlayInner.active {
+    display: block; }
+  .modalOverlayInner h2 {
+    color: #4A4A4F;
+    text-align: center;
+    font-weight: 200;
+    margin-top: 30px;
+    font-size: 28px;
+    line-height: 37px;
+    letter-spacing: -0.13px; }
+    @media (max-width: 960px) {
+      .modalOverlayInner h2 {
+        margin-top: 100px; } }
+    @media (max-width: 850px) {
+      .modalOverlayInner h2 {
+        margin-top: 30px; } }
+  .modalOverlayInner .footer {
+    border-top: 1px solid #D7D7DB;
+    height: 70px;
+    width: 100%;
+    position: absolute;
+    bottom: 0;
+    text-align: center;
+    background-color: #FFF; }
+    @media (max-width: 850px) and (max-height: 730px) {
+      .modalOverlayInner .footer {
+        position: sticky; } }
+    .modalOverlayInner .footer .modalButton {
+      margin-top: 20px;
+      width: 150px;
+      height: 30px;
+      padding: 4px 0 6px 0;
+      font-size: 15px; }
+
 .SimpleSnippet .title {
   display: inline;
   font-size: inherit;
   margin: 0; }
 
 .SimpleSnippet .body {
   display: inline;
   margin: 0; }
 
 .SimpleSnippet .icon {
   height: 42px;
   width: 42px;
   margin-inline-end: 12px;
   flex-shrink: 0; }
 
+.SimpleSnippet .ASRouterAnchor {
+  color: inherit;
+  text-decoration: underline; }
+
+.onboardingMessageContainer {
+  display: grid;
+  grid-column-gap: 21px;
+  grid-template-columns: auto auto auto;
+  padding-left: 30px;
+  padding-right: 30px; }
+  @media (max-width: 850px) {
+    .onboardingMessageContainer {
+      grid-template-columns: none;
+      grid-template-rows: auto auto auto;
+      padding-left: 110px;
+      padding-right: 110px; } }
+
+.onboardingMessage {
+  height: 340px;
+  text-align: center;
+  padding: 13px;
+  font-weight: 200; }
+  @media (max-width: 850px) {
+    .onboardingMessage {
+      height: 170px;
+      text-align: left;
+      padding: 10px;
+      border-bottom: 1px solid #D8D8D8;
+      display: flex;
+      margin-bottom: 11px; }
+      .onboardingMessage:last-child {
+        border: none; }
+      .onboardingMessage .onboardingContent {
+        padding-left: 10px;
+        height: 100%; }
+        .onboardingMessage .onboardingContent > span > h3 {
+          margin-top: 0;
+          margin-bottom: 4px;
+          font-weight: 400; }
+        .onboardingMessage .onboardingContent > span > p {
+          margin-top: 0;
+          line-height: 22px;
+          font-size: 15px; } }
+  .onboardingMessage .onboardingMessageImage {
+    height: 100px;
+    width: 120px;
+    background-size: 120px;
+    background-position: center center;
+    background-repeat: no-repeat;
+    display: inline-block;
+    vertical-align: middle; }
+    @media (max-width: 850px) {
+      .onboardingMessage .onboardingMessageImage {
+        height: 75px;
+        width: 160px;
+        background-size: 80px; } }
+    .onboardingMessage .onboardingMessageImage.addons {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-addons@2x.png"); }
+    .onboardingMessage .onboardingMessageImage.privatebrowsing {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-privatebrowsing@2x.png"); }
+    .onboardingMessage .onboardingMessageImage.screenshots {
+      background-image: url("resource://activity-stream/data/content/assets/illustration-screenshots@2x.png"); }
+  .onboardingMessage .onboardingContent {
+    height: 175px; }
+    .onboardingMessage .onboardingContent > span > h3 {
+      color: #0C0C0D;
+      margin-bottom: 8px;
+      font-weight: 400; }
+    .onboardingMessage .onboardingContent > span > p {
+      color: #4A4A4F;
+      margin-top: 0;
+      height: 130px;
+      margin-bottom: 12px;
+      font-size: 15px;
+      line-height: 22px; }
+  .onboardingMessage .onboardingButton {
+    background-color: rgba(12, 12, 13, 0.1);
+    border: none;
+    width: 150px;
+    height: 30px;
+    margin-bottom: 23px;
+    padding: 4px 0 6px 0;
+    font-size: 15px; }
+    @media (max-width: 850px) {
+      .onboardingMessage .onboardingButton {
+        float: right;
+        margin-top: -60px;
+        margin-right: -10px; } }
+  .onboardingMessage::before {
+    content: '';
+    height: 220px;
+    width: 1px;
+    position: absolute;
+    background-color: #D8D8D8;
+    margin-top: 40px;
+    margin-left: 215px; }
+    @media (max-width: 850px) {
+      .onboardingMessage::before {
+        content: none; } }
+  .onboardingMessage:last-child::before {
+    content: none; }
+
 /*# sourceMappingURL=activity-stream-windows.css.map */
\ No newline at end of file
--- a/browser/extensions/activity-stream/css/activity-stream-windows.css.map
+++ b/browser/extensions/activity-stream/css/activity-stream-windows.css.map
@@ -7,46 +7,52 @@
 		"../content-src/styles/_normalize.scss",
 		"../content-src/styles/_variables.scss",
 		"../content-src/styles/_theme.scss",
 		"../content-src/styles/_icons.scss",
 		"../content-src/components/Base/_Base.scss",
 		"../content-src/components/ErrorBoundary/_ErrorBoundary.scss",
 		"../content-src/components/TopSites/_TopSites.scss",
 		"../content-src/components/Sections/_Sections.scss",
+		"../content-src/components/StartupOverlay/_StartupOverlay.scss",
 		"../content-src/components/Topics/_Topics.scss",
 		"../content-src/components/Search/_Search.scss",
 		"../content-src/components/ContextMenu/_ContextMenu.scss",
 		"../content-src/components/ConfirmDialog/_ConfirmDialog.scss",
 		"../content-src/components/Card/_Card.scss",
 		"../content-src/components/ManualMigration/_ManualMigration.scss",
 		"../content-src/components/CollapsibleSection/_CollapsibleSection.scss",
 		"../content-src/components/ASRouterAdmin/ASRouterAdmin.scss",
 		"../content-src/asrouter/components/Button/_Button.scss",
 		"../content-src/asrouter/components/SnippetBase/_SnippetBase.scss",
-		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss"
+		"../content-src/asrouter/components/ModalOverlay/_ModalOverlay.scss",
+		"../content-src/asrouter/templates/SimpleSnippet/_SimpleSnippet.scss",
+		"../content-src/asrouter/templates/OnboardingMessage/_OnboardingMessage.scss"
 	],
 	"sourcesContent": [
 		"/* This is the windows variant */ // sass-lint:disable-line no-css-comments\n\n$os-infopanel-arrow-height: 10px;\n$os-infopanel-arrow-offset-end: 6px;\n$os-infopanel-arrow-width: 20px;\n\n@import './activity-stream';\n",
-		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n",
+		"@import './normalize';\n@import './variables';\n@import './theme';\n@import './icons';\n\nhtml {\n  height: 100%;\n}\n\nbody,\n#root { // sass-lint:disable-line no-ids\n  min-height: 100vh;\n}\n\nbody {\n  background-color: var(--newtab-background-color);\n  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Ubuntu', 'Helvetica Neue', sans-serif;\n  font-size: 16px;\n  overflow-y: scroll;\n}\n\nh1,\nh2 {\n  font-weight: normal;\n}\n\na {\n  text-decoration: none;\n}\n\n// For screen readers\n.sr-only {\n  border: 0;\n  clip: rect(0, 0, 0, 0);\n  height: 1px;\n  margin: -1px;\n  overflow: hidden;\n  padding: 0;\n  position: absolute;\n  width: 1px;\n}\n\n.inner-border {\n  border: $border-secondary;\n  border-radius: $border-radius;\n  height: 100%;\n  left: 0;\n  pointer-events: none;\n  position: absolute;\n  top: 0;\n  width: 100%;\n  z-index: 100;\n}\n\n@keyframes fadeIn {\n  from {\n    opacity: 0;\n  }\n\n  to {\n    opacity: 1;\n  }\n}\n\n.show-on-init {\n  opacity: 0;\n  transition: opacity 0.2s ease-in;\n\n  &.on {\n    animation: fadeIn 0.2s;\n    opacity: 1;\n  }\n}\n\n.actions {\n  border-top: $border-secondary;\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n  justify-content: flex-start;\n  margin: 0;\n  padding: 15px 25px 0;\n}\n\n// Default button (grey)\n.button,\n.actions button {\n  background-color: var(--newtab-button-secondary-color);\n  border: $border-primary;\n  border-radius: 4px;\n  color: inherit;\n  cursor: pointer;\n  margin-bottom: 15px;\n  padding: 10px 30px;\n  white-space: nowrap;\n\n  &:hover:not(.dismiss) {\n    box-shadow: $shadow-primary;\n    transition: box-shadow 150ms;\n  }\n\n  &.dismiss {\n    background-color: transparent;\n    border: 0;\n    padding: 0;\n    text-decoration: underline;\n  }\n\n  // Blue button\n  &.primary,\n  &.done {\n    background-color: var(--newtab-button-primary-color);\n    border: solid 1px var(--newtab-button-primary-color);\n    color: $white;\n    margin-inline-start: auto;\n  }\n}\n\ninput {\n  &[type='text'],\n  &[type='search'] {\n    border-radius: $border-radius;\n  }\n}\n\n// Make sure snippets show up above other UI elements\n#snippets-container { // sass-lint:disable-line no-ids\n  z-index: 1;\n}\n\n// Components\n@import '../components/Base/Base';\n@import '../components/ErrorBoundary/ErrorBoundary';\n@import '../components/TopSites/TopSites';\n@import '../components/Sections/Sections';\n@import '../components/StartupOverlay/StartupOverlay';\n@import '../components/Topics/Topics';\n@import '../components/Search/Search';\n@import '../components/ContextMenu/ContextMenu';\n@import '../components/ConfirmDialog/ConfirmDialog';\n@import '../components/Card/Card';\n@import '../components/ManualMigration/ManualMigration';\n@import '../components/CollapsibleSection/CollapsibleSection';\n@import '../components/ASRouterAdmin/ASRouterAdmin';\n\n// AS Router\n@import '../asrouter/components/Button/Button';\n@import '../asrouter/components/SnippetBase/SnippetBase';\n@import '../asrouter/components/ModalOverlay/ModalOverlay';\n@import '../asrouter/templates/SimpleSnippet/SimpleSnippet';\n@import '../asrouter/templates/OnboardingMessage/OnboardingMessage';\n",
 		"html {\n  box-sizing: border-box;\n}\n\n*,\n*::before,\n*::after {\n  box-sizing: inherit;\n}\n\n*::-moz-focus-inner {\n  border: 0;\n}\n\nbody {\n  margin: 0;\n}\n\nbutton,\ninput {\n  background-color: inherit;\n  color: inherit;\n  font-family: inherit;\n  font-size: inherit;\n}\n\n[hidden] {\n  display: none !important; // sass-lint:disable-line no-important\n}\n",
 		"// Photon colors from http://design.firefox.com/photon/visuals/color.html\n$blue-40: #45A1FF;\n$blue-50: #0A84FF;\n$blue-60: #0060DF;\n$blue-70: #003EAA;\n$blue-80: #002275;\n$grey-10: #F9F9FA;\n$grey-20: #EDEDF0;\n$grey-30: #D7D7DB;\n$grey-40: #B1B1B3;\n$grey-50: #737373;\n$grey-60: #4A4A4F;\n$grey-70: #38383D;\n$grey-80: #2A2A2E;\n$grey-90: #0C0C0D;\n$teal-70: #008EA4;\n$red-60: #D70022;\n$yellow-50: #FFE900;\n\n// Photon opacity from http://design.firefox.com/photon/visuals/color.html#opacity\n$grey-10-10: rgba($grey-10, 0.1);\n$grey-10-20: rgba($grey-10, 0.2);\n$grey-10-40: rgba($grey-10, 0.4);\n$grey-10-60: rgba($grey-10, 0.6);\n$grey-10-80: rgba($grey-10, 0.8);\n$grey-20-60: rgba($grey-20, 0.6);\n$grey-20-80: rgba($grey-20, 0.8);\n$grey-30-60: rgba($grey-30, 0.6);\n$grey-90-10: rgba($grey-90, 0.1);\n$grey-90-20: rgba($grey-90, 0.2);\n$grey-90-30: rgba($grey-90, 0.3);\n$grey-90-40: rgba($grey-90, 0.4);\n$grey-90-50: rgba($grey-90, 0.5);\n$grey-90-60: rgba($grey-90, 0.6);\n$grey-90-70: rgba($grey-90, 0.7);\n$grey-90-80: rgba($grey-90, 0.8);\n$grey-90-90: rgba($grey-90, 0.9);\n\n$black: #000;\n$black-5: rgba($black, 0.05);\n$black-10: rgba($black, 0.1);\n$black-15: rgba($black, 0.15);\n$black-20: rgba($black, 0.2);\n$black-25: rgba($black, 0.25);\n$black-30: rgba($black, 0.3);\n\n// Photon transitions from http://design.firefox.com/photon/motion/duration-and-easing.html\n$photon-easing: cubic-bezier(0.07, 0.95, 0, 1);\n\n// Other colors\n$white: #FFF;\n$white-10: rgba($white, 0.1);\n$pocket-teal: #50BCB6;\n\n$border-radius: 3px;\n\n// Grid related styles\n$base-gutter: 32px;\n$section-horizontal-padding: 25px;\n$section-vertical-padding: 10px;\n$section-spacing: 40px - $section-vertical-padding * 2;\n$grid-unit: 96px; // 1 top site\n\n$icon-size: 16px;\n$smaller-icon-size: 12px;\n$larger-icon-size: 32px;\n\n$small-download-folder-icon-size: 36px;\n$large-download-folder-icon-size: $small-download-folder-icon-size * 1.5;\n\n$wrapper-default-width: $grid-unit * 2 + $base-gutter * 1 + $section-horizontal-padding * 2; // 2 top sites\n$wrapper-max-width-small: $grid-unit * 3 + $base-gutter * 2 + $section-horizontal-padding * 2; // 3 top sites\n$wrapper-max-width-medium: $grid-unit * 4 + $base-gutter * 3 + $section-horizontal-padding * 2; // 4 top sites\n$wrapper-max-width-large: $grid-unit * 6 + $base-gutter * 5 + $section-horizontal-padding * 2; // 6 top sites\n$wrapper-max-width-widest: $grid-unit * 8 + $base-gutter * 7 + $section-horizontal-padding * 2; // 8 top sites\n// For the breakpoints, we need to add space for the scrollbar to avoid weird\n// layout issues when the scrollbar is visible. 16px is wide enough to cover all\n// OSes and keeps it simpler than a per-OS value.\n$scrollbar-width: 16px;\n$break-point-small: $wrapper-max-width-small + $base-gutter * 2 + $scrollbar-width;\n$break-point-medium: $wrapper-max-width-medium + $base-gutter * 2 + $scrollbar-width;\n$break-point-large: $wrapper-max-width-large + $base-gutter * 2 + $scrollbar-width;\n$break-point-widest: $wrapper-max-width-widest + $base-gutter * 2 + $scrollbar-width;\n\n$section-title-font-size: 13px;\n\n$card-width: $grid-unit * 2 + $base-gutter;\n$card-height: 266px;\n$card-preview-image-height: 122px;\n$card-title-margin: 2px;\n$card-text-line-height: 19px;\n// Larger cards for wider screens:\n$card-width-large: 309px;\n$card-height-large: 370px;\n$card-preview-image-height-large: 155px;\n\n$topic-margin-top: 12px;\n\n$context-menu-button-size: 27px;\n$context-menu-button-boxshadow: 0 2px $grey-90-10;\n$context-menu-shadow: 0 5px 10px $black-30, 0 0 0 1px $black-20;\n$context-menu-font-size: 14px;\n$context-menu-border-radius: 5px;\n$context-menu-outer-padding: 5px;\n$context-menu-item-padding: 3px 12px;\n\n$error-fallback-font-size: 12px;\n$error-fallback-line-height: 1.5;\n\n$image-path: '../data/content/assets/';\n\n$snippets-container-height: 120px;\n\n$textbox-shadow-size: 4px;\n\n@mixin fade-in {\n  box-shadow: inset $inner-box-shadow, $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin fade-in-card {\n  box-shadow: $shadow-primary;\n  transition: box-shadow 150ms;\n}\n\n@mixin context-menu-button {\n  .context-menu-button {\n    background-clip: padding-box;\n    background-color: var(--newtab-contextmenu-button-color);\n    background-image: url('chrome://browser/skin/page-action.svg');\n    background-position: 55%;\n    border: $border-primary;\n    border-radius: 100%;\n    box-shadow: $context-menu-button-boxshadow;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    height: $context-menu-button-size;\n    offset-inline-end: -($context-menu-button-size / 2);\n    opacity: 0;\n    position: absolute;\n    top: -($context-menu-button-size / 2);\n    transform: scale(0.25);\n    transition-duration: 200ms;\n    transition-property: transform, opacity;\n    width: $context-menu-button-size;\n\n    &:-moz-any(:active, :focus) {\n      opacity: 1;\n      transform: scale(1);\n    }\n  }\n}\n\n@mixin context-menu-button-hover {\n  .context-menu-button {\n    opacity: 1;\n    transform: scale(1);\n  }\n}\n\n@mixin context-menu-open-middle {\n  .context-menu {\n    margin-inline-end: auto;\n    margin-inline-start: auto;\n    offset-inline-end: auto;\n    offset-inline-start: -$base-gutter;\n  }\n}\n\n@mixin context-menu-open-left {\n  .context-menu {\n    margin-inline-end: 5px;\n    margin-inline-start: auto;\n    offset-inline-end: 0;\n    offset-inline-start: auto;\n  }\n}\n\n@mixin flip-icon {\n  &:dir(rtl) {\n    transform: scaleX(-1);\n  }\n}\n",
 		"@function textbox-shadow($color) {\n  @return 0 0 0 1px $color, 0 0 0 $textbox-shadow-size rgba($color, 0.3);\n}\n\n@mixin textbox-focus($color) {\n  --newtab-textbox-focus-color: $color;\n  --newtab-textbox-focus-boxshadow: textbox-shadow($color);\n}\n\n// scss variables related to the theme.\n$border-primary: 1px solid var(--newtab-border-primary-color);\n$border-secondary: 1px solid var(--newtab-border-secondary-color);\n$inner-box-shadow: 0 0 0 1px var(--newtab-inner-box-shadow-color);\n$input-border: 1px solid var(--newtab-textbox-border);\n$input-border-active: 1px solid var(--newtab-textbox-focus-color);\n$input-error-border: 1px solid $red-60;\n$input-error-boxshadow: textbox-shadow($red-60);\n$shadow-primary: 0 0 0 5px var(--newtab-card-active-outline-color);\n$shadow-secondary: 0 1px 4px 0 $grey-90-20;\n\n// Default theme\nbody {\n  // General styles\n  --newtab-background-color: $grey-10;\n  --newtab-border-primary-color: $grey-40;\n  --newtab-border-secondary-color: $grey-30;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: inherit;\n  --newtab-element-active-color: $grey-30-60;\n  --newtab-element-hover-color: $grey-20;\n  --newtab-icon-primary-color: $grey-90-80;\n  --newtab-icon-secondary-color: $grey-90-60;\n  --newtab-icon-tertiary-color: $grey-30;\n  --newtab-inner-box-shadow-color: $black-10;\n  --newtab-link-primary-color: $blue-60;\n  --newtab-link-secondary-color: $teal-70;\n  --newtab-text-conditional-color: $grey-60;\n  --newtab-text-primary-color: $grey-90;\n  --newtab-text-secondary-color: $grey-50;\n  --newtab-text-tertiary-color: $grey-50;\n  --newtab-textbox-background-color: $white;\n  --newtab-textbox-border: $grey-90-20;\n  @include textbox-focus($blue-60); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-10;\n  --newtab-contextmenu-button-color: $white;\n\n  // Modal + overlay\n  --newtab-modal-color: $white;\n  --newtab-overlay-color: $grey-20-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-50;\n  --newtab-section-navigation-text-color: $grey-50;\n  --newtab-section-active-contextmenu-color: $grey-90;\n\n  // Search\n  --newtab-search-border-color: transparent;\n  --newtab-search-dropdown-color: $white;\n  --newtab-search-dropdown-header-color: $grey-10;\n  --newtab-search-icon-color: $grey-90-40;\n\n  // Top Sites\n  --newtab-topsites-background-color: $white;\n  --newtab-topsites-icon-shadow: inset $inner-box-shadow;\n  --newtab-topsites-label-color: inherit;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-30;\n  --newtab-card-background-color: $white;\n  --newtab-card-hairline-color: $black-10;\n  --newtab-card-shadow: 0 1px 4px 0 $grey-90-10;\n\n  // Snippets\n  --newtab-snippets-background-color: $white;\n  --newtab-snippets-hairline-color: transparent;\n}\n\n// Dark theme\n.dark-theme {\n  // General styles\n  --newtab-background-color: $grey-80;\n  --newtab-border-primary-color: $grey-10-80;\n  --newtab-border-secondary-color: $grey-10-10;\n  --newtab-button-primary-color: $blue-60;\n  --newtab-button-secondary-color: $grey-70;\n  --newtab-element-active-color: $grey-10-20;\n  --newtab-element-hover-color: $grey-10-10;\n  --newtab-icon-primary-color: $grey-10-80;\n  --newtab-icon-secondary-color: $grey-10-40;\n  --newtab-icon-tertiary-color: $grey-10-40;\n  --newtab-inner-box-shadow-color: $grey-10-20;\n  --newtab-link-primary-color: $blue-40;\n  --newtab-link-secondary-color: $pocket-teal;\n  --newtab-text-conditional-color: $grey-10;\n  --newtab-text-primary-color: $grey-10;\n  --newtab-text-secondary-color: $grey-10-80;\n  --newtab-text-tertiary-color: $grey-10-60;\n  --newtab-textbox-background-color: $grey-70;\n  --newtab-textbox-border: $grey-10-20;\n  @include textbox-focus($blue-40); // sass-lint:disable-line mixins-before-declarations\n\n  // Context menu\n  --newtab-contextmenu-background-color: $grey-60;\n  --newtab-contextmenu-button-color: $grey-80;\n\n  // Modal + overlay\n  --newtab-modal-color: $grey-80;\n  --newtab-overlay-color: $grey-90-80;\n\n  // Sections\n  --newtab-section-header-text-color: $grey-10-80;\n  --newtab-section-navigation-text-color: $grey-10-80;\n  --newtab-section-active-contextmenu-color: $white;\n\n  // Search\n  --newtab-search-border-color: $grey-10-20;\n  --newtab-search-dropdown-color: $grey-70;\n  --newtab-search-dropdown-header-color: $grey-60;\n  --newtab-search-icon-color: $grey-10-60;\n\n  // Top Sites\n  --newtab-topsites-background-color: $grey-70;\n  --newtab-topsites-icon-shadow: none;\n  --newtab-topsites-label-color: $grey-10-80;\n\n  // Cards\n  --newtab-card-active-outline-color: $grey-60;\n  --newtab-card-background-color: $grey-70;\n  --newtab-card-hairline-color: $grey-10-10;\n  --newtab-card-shadow: 0 1px 8px 0 $grey-90-20;\n\n  // Snippets\n  --newtab-snippets-background-color: $grey-70;\n  --newtab-snippets-hairline-color: $white-10;\n}\n",
 		".icon {\n  background-position: center center;\n  background-repeat: no-repeat;\n  background-size: $icon-size;\n  -moz-context-properties: fill;\n  display: inline-block;\n  fill: var(--newtab-icon-primary-color);\n  height: $icon-size;\n  vertical-align: middle;\n  width: $icon-size;\n\n  &.icon-spacer {\n    margin-inline-end: 8px;\n  }\n\n  &.icon-small-spacer {\n    margin-inline-end: 6px;\n  }\n\n  &.icon-bookmark-added {\n    background-image: url('chrome://browser/skin/bookmark.svg');\n  }\n\n  &.icon-bookmark-hollow {\n    background-image: url('chrome://browser/skin/bookmark-hollow.svg');\n  }\n\n  &.icon-clear-input {\n    fill: var(--newtab-icon-secondary-color);\n    background-image: url('#{$image-path}glyph-cancel-16.svg');\n  }\n\n  &.icon-delete {\n    background-image: url('#{$image-path}glyph-delete-16.svg');\n  }\n\n  &.icon-search {\n    background-image: url('chrome://browser/skin/search-glass.svg');\n  }\n\n  &.icon-modal-delete {\n    flex-shrink: 0;\n    background-image: url('#{$image-path}glyph-modal-delete-32.svg');\n    background-size: $larger-icon-size;\n    height: $larger-icon-size;\n    width: $larger-icon-size;\n  }\n\n  &.icon-dismiss {\n    background-image: url('#{$image-path}glyph-dismiss-16.svg');\n  }\n\n  &.icon-info {\n    background-image: url('#{$image-path}glyph-info-16.svg');\n  }\n\n  &.icon-import {\n    background-image: url('#{$image-path}glyph-import-16.svg');\n  }\n\n  &.icon-new-window {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-newWindow-16.svg');\n  }\n\n  &.icon-new-window-private {\n    background-image: url('chrome://browser/skin/privateBrowsing.svg');\n  }\n\n  &.icon-settings {\n    background-image: url('chrome://browser/skin/settings.svg');\n  }\n\n  &.icon-pin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-16.svg');\n  }\n\n  &.icon-unpin {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-unpin-16.svg');\n  }\n\n  &.icon-edit {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.icon-pocket {\n    background-image: url('#{$image-path}glyph-pocket-16.svg');\n  }\n\n  &.icon-historyItem {\n    background-image: url('#{$image-path}glyph-historyItem-16.svg');\n  }\n\n  &.icon-trending {\n    background-image: url('#{$image-path}glyph-trending-16.svg');\n    transform: translateY(2px); // trending bolt is visually top heavy\n  }\n\n  &.icon-now {\n    background-image: url('chrome://browser/skin/history.svg');\n  }\n\n  &.icon-topsites {\n    background-image: url('#{$image-path}glyph-topsites-16.svg');\n  }\n\n  &.icon-pin-small {\n    @include flip-icon;\n    background-image: url('#{$image-path}glyph-pin-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-check {\n    background-image: url('chrome://browser/skin/check.svg');\n  }\n\n  &.icon-download {\n    background-image: url('chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar');\n  }\n\n  &.icon-copy {\n    background-image: url('chrome://browser/skin/edit-copy.svg');\n  }\n\n  &.icon-open-file {\n    background-image: url('#{$image-path}glyph-open-file-16.svg');\n  }\n\n  &.icon-download-folder {\n    background-image: url('#{$image-path}glyph-download-icon.svg');\n    background-size: 100%;\n  }\n\n  &.icon-webextension {\n    background-image: url('#{$image-path}glyph-webextension-16.svg');\n  }\n\n  &.icon-highlights {\n    background-image: url('#{$image-path}glyph-highlights-16.svg');\n  }\n\n  &.icon-arrowhead-down {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n  }\n\n  &.icon-arrowhead-down-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    width: $smaller-icon-size;\n  }\n\n  &.icon-arrowhead-forward-small {\n    background-image: url('#{$image-path}glyph-arrowhead-down-12.svg');\n    background-size: $smaller-icon-size;\n    height: $smaller-icon-size;\n    transform: rotate(-90deg);\n    width: $smaller-icon-size;\n\n    &:dir(rtl) {\n      transform: rotate(90deg);\n    }\n  }\n\n  &.icon-arrowhead-up {\n    background-image: url('#{$image-path}glyph-arrowhead-down-16.svg');\n    transform: rotate(180deg);\n  }\n\n  &.icon-add {\n    background-image: url('#{$image-path}glyph-add-16.svg');\n  }\n\n  &.icon-minimize {\n    background-image: url('#{$image-path}glyph-minimize-16.svg');\n  }\n\n  &.icon-maximize {\n    background-image: url('#{$image-path}glyph-maximize-16.svg');\n  }\n}\n",
 		".outer-wrapper {\n  color: var(--newtab-text-primary-color);\n  display: flex;\n  flex-grow: 1;\n  min-height: 100vh;\n  padding: ($section-spacing + $section-vertical-padding) $base-gutter $base-gutter;\n\n  &.fixed-to-top {\n    display: block;\n  }\n\n  a {\n    color: var(--newtab-link-primary-color);\n  }\n}\n\nmain {\n  margin: auto;\n  // Offset the snippets container so things at the bottom of the page are still\n  // visible when snippets / onboarding are visible. Adjust for other spacing.\n  padding-bottom: $snippets-container-height - $section-spacing - $base-gutter;\n  width: $wrapper-default-width;\n\n  @media (min-width: $break-point-small) {\n    width: $wrapper-max-width-small;\n  }\n\n  @media (min-width: $break-point-medium) {\n    width: $wrapper-max-width-medium;\n  }\n\n  @media (min-width: $break-point-large) {\n    width: $wrapper-max-width-large;\n  }\n\n  @media (min-width: $break-point-widest) {\n    width: $wrapper-max-width-widest;\n  }\n\n  section {\n    margin-bottom: $section-spacing;\n    position: relative;\n  }\n}\n\n.base-content-fallback {\n  // Make the error message be centered against the viewport\n  height: 100vh;\n}\n\n.body-wrapper {\n  // Hide certain elements so the page structure is fixed, e.g., placeholders,\n  // while avoiding flashes of changing content, e.g., icons and text\n  $selectors-to-hide: '\n    .section-title,\n    .sections-list .section:last-of-type,\n    .topic\n  ';\n\n  #{$selectors-to-hide} {\n    opacity: 0;\n  }\n\n  &.on {\n    #{$selectors-to-hide} {\n      opacity: 1;\n    }\n  }\n}\n\n.non-collapsible-section {\n  padding: 0 $section-horizontal-padding;\n}\n\n.prefs-button {\n  button {\n    background-color: transparent;\n    border: 0;\n    cursor: pointer;\n    fill: var(--newtab-icon-primary-color);\n    offset-inline-end: 15px;\n    padding: 15px;\n    position: fixed;\n    top: 15px;\n    z-index: 12001;\n\n    &:hover,\n    &:focus {\n      background-color: var(--newtab-element-hover-color);\n    }\n\n    &:active {\n      background-color: var(--newtab-element-active-color);\n    }\n  }\n}\n",
 		".as-error-fallback {\n  align-items: center;\n  border-radius: $border-radius;\n  box-shadow: inset $inner-box-shadow;\n  color: var(--newtab-text-conditional-color);\n  display: flex;\n  flex-direction: column;\n  font-size: $error-fallback-font-size;\n  justify-content: center;\n  justify-items: center;\n  line-height: $error-fallback-line-height;\n\n  a {\n    color: var(--newtab-text-conditional-color);\n    text-decoration: underline;\n  }\n}\n",
 		"$top-sites-size: $grid-unit;\n$top-sites-border-radius: 6px;\n$top-sites-title-height: 30px;\n$top-sites-vertical-space: 8px;\n$screenshot-size: cover;\n$rich-icon-size: 96px;\n$default-icon-wrapper-size: 42px;\n$default-icon-size: 32px;\n$default-icon-offset: 6px;\n$half-base-gutter: $base-gutter / 2;\n\n.top-sites {\n  // Take back the margin from the bottom row of vertical spacing as well as the\n  // extra whitespace below the title text as it's vertically centered.\n  margin-bottom: $section-spacing - ($top-sites-vertical-space + $top-sites-title-height / 3);\n}\n\n.top-sites-list {\n  list-style: none;\n  margin: 0 (-$half-base-gutter);\n  padding: 0;\n\n  // Two columns\n  @media (max-width: $break-point-small) {\n    :nth-child(2n+1) {\n      @include context-menu-open-middle;\n    }\n\n    :nth-child(2n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Three columns\n  @media (min-width: $break-point-small) and (max-width: $break-point-medium) {\n    :nth-child(3n+2),\n    :nth-child(3n) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Four columns\n  @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n    :nth-child(4n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-medium) and (max-width: $break-point-medium + $card-width) {\n    :nth-child(4n+3) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Six columns\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n    :nth-child(6n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-large) and (max-width: $break-point-large + $card-width) {\n    :nth-child(6n+5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  // Eight columns\n  @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n    :nth-child(8n) {\n      @include context-menu-open-left;\n    }\n  }\n  @media (min-width: $break-point-widest) and (max-width: $break-point-widest + $card-width) {\n    :nth-child(8n+7) {\n      @include context-menu-open-left;\n    }\n  }\n\n  @media not all and (min-width: $break-point-widest) {\n    .hide-for-narrow {\n      display: none;\n    }\n  }\n\n  li {\n    margin: 0 0 $top-sites-vertical-space;\n  }\n\n  &:not(.dnd-active) {\n    .top-site-outer:-moz-any(.active, :focus, :hover) {\n      .tile {\n        @include fade-in;\n      }\n\n      @include context-menu-button-hover;\n    }\n  }\n}\n\n// container for drop zone\n.top-site-outer {\n  padding: 0 $half-base-gutter;\n  display: inline-block;\n\n  // container for context menu\n  .top-site-inner {\n    position: relative;\n\n    > a {\n      color: inherit;\n      display: block;\n      outline: none;\n\n      &:-moz-any(.active, :focus) {\n        .tile {\n          @include fade-in;\n        }\n      }\n    }\n  }\n\n  @include context-menu-button;\n\n  .tile { // sass-lint:disable-block property-sort-order\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow, var(--newtab-card-shadow);\n    height: $top-sites-size;\n    position: relative;\n    width: $top-sites-size;\n\n    // For letter fallback\n    align-items: center;\n    color: var(--newtab-text-secondary-color);\n    display: flex;\n    font-size: 32px;\n    font-weight: 200;\n    justify-content: center;\n    text-transform: uppercase;\n\n    &::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .screenshot {\n    background-color: $white;\n    background-position: top left;\n    background-size: $screenshot-size;\n    border-radius: $top-sites-border-radius;\n    box-shadow: inset $inner-box-shadow;\n    height: 100%;\n    left: 0;\n    opacity: 0;\n    position: absolute;\n    top: 0;\n    transition: opacity 1s;\n    width: 100%;\n\n    &.active {\n      opacity: 1;\n    }\n  }\n\n  // Some common styles for all icons (rich and default) in top sites\n  .top-site-icon {\n    background-color: var(--newtab-topsites-background-color);\n    background-position: center center;\n    background-repeat: no-repeat;\n    border-radius: $top-sites-border-radius;\n    box-shadow: var(--newtab-topsites-icon-shadow);\n    position: absolute;\n  }\n\n  .rich-icon {\n    background-size: cover;\n    height: 100%;\n    offset-inline-start: 0;\n    top: 0;\n    width: 100%;\n  }\n\n  .default-icon { // sass-lint:disable block property-sort-order\n    background-size: $default-icon-size;\n    bottom: -$default-icon-offset;\n    height: $default-icon-wrapper-size;\n    offset-inline-end: -$default-icon-offset;\n    width: $default-icon-wrapper-size;\n\n    // for corner letter fallback\n    align-items: center;\n    display: flex;\n    font-size: 20px;\n    justify-content: center;\n\n    &[data-fallback]::before {\n      content: attr(data-fallback);\n    }\n  }\n\n  .title {\n    color: var(--newtab-topsites-label-color);\n    font: message-box;\n    height: $top-sites-title-height;\n    line-height: $top-sites-title-height;\n    text-align: center;\n    width: $top-sites-size;\n    position: relative;\n\n    .icon {\n      fill: var(--newtab-icon-tertiary-color);\n      offset-inline-start: 0;\n      position: absolute;\n      top: 10px;\n    }\n\n    span {\n      height: $top-sites-title-height;\n      display: block;\n      overflow: hidden;\n      text-overflow: ellipsis;\n      white-space: nowrap;\n    }\n\n    &.pinned {\n      span {\n        padding: 0 13px;\n      }\n    }\n  }\n\n  .edit-button {\n    background-image: url('#{$image-path}glyph-edit-16.svg');\n  }\n\n  &.placeholder {\n    .tile {\n      box-shadow: inset $inner-box-shadow;\n    }\n\n    .screenshot {\n      display: none;\n    }\n  }\n\n  &.dragged {\n    .tile {\n      background: $grey-20;\n      box-shadow: none;\n\n      *,\n      &::before {\n        display: none;\n      }\n    }\n\n    .title {\n      visibility: hidden;\n    }\n  }\n}\n\n.edit-topsites-wrapper {\n  .modal {\n    box-shadow: $shadow-secondary;\n    left: 0;\n    margin: 0 auto;\n    position: fixed;\n    right: 0;\n    top: 40px;\n    width: $wrapper-default-width;\n\n    @media (min-width: $break-point-small) {\n      width: $wrapper-max-width-small;\n    }\n\n    @media (min-width: $break-point-medium) {\n      width: $wrapper-max-width-medium;\n    }\n\n    @media (min-width: $break-point-large) {\n      width: $wrapper-max-width-large;\n    }\n  }\n}\n\n.topsite-form {\n  $form-width: 300px;\n  $form-spacing: 32px;\n\n  .form-input-container {\n    max-width: $form-width + 3 * $form-spacing + $rich-icon-size;\n    margin: 0 auto;\n    padding: $form-spacing;\n\n    .top-site-outer {\n      padding: 0;\n      margin: 24px 0 0;\n      margin-inline-start: $form-spacing;\n      pointer-events: none;\n    }\n\n    .section-title {\n      text-transform: none;\n      font-size: 16px;\n      margin: 0 0 16px;\n    }\n  }\n\n  .fields-and-preview {\n    display: flex;\n  }\n\n  label {\n    font-size: $section-title-font-size;\n  }\n\n  .form-wrapper {\n    width: 100%;\n\n    .field {\n      position: relative;\n\n      .icon-clear-input {\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n    }\n\n    .url {\n      input:dir(ltr) {\n        padding-right: 32px;\n      }\n\n      input:dir(rtl) {\n        padding-left: 32px;\n\n        &:not(:placeholder-shown) {\n          direction: ltr;\n          text-align: right;\n        }\n      }\n    }\n\n    .enable-custom-image-input {\n      display: inline-block;\n      font-size: 13px;\n      margin-top: 4px;\n      cursor: pointer;\n\n      &:hover {\n        text-decoration: underline;\n      }\n    }\n\n    .custom-image-input-container {\n      margin-top: 4px;\n\n      .loading-container {\n        width: 16px;\n        height: 16px;\n        overflow: hidden;\n        position: absolute;\n        transform: translateY(-50%);\n        top: 50%;\n        offset-inline-end: 8px;\n      }\n\n      // This animation is derived from Firefox's tab loading animation\n      // See https://searchfox.org/mozilla-central/rev/b29daa46443b30612415c35be0a3c9c13b9dc5f6/browser/themes/shared/tabs.inc.css#208-216\n      .loading-animation {\n        @keyframes tab-throbber-animation {\n          100% { transform: translateX(-960px); }\n        }\n\n        @keyframes tab-throbber-animation-rtl {\n          100% { transform: translateX(960px); }\n        }\n\n        width: 960px;\n        height: 16px;\n        -moz-context-properties: fill;\n        fill: $blue-50;\n        background-image: url('chrome://browser/skin/tabbrowser/loading.svg');\n        animation: tab-throbber-animation 1.05s steps(60) infinite;\n\n        &:dir(rtl) {\n          animation-name: tab-throbber-animation-rtl;\n        }\n      }\n    }\n\n    input {\n      &[type='text'] {\n        background-color: var(--newtab-textbox-background-color);\n        border: $input-border;\n        margin: 8px 0;\n        padding: 0 8px;\n        height: 32px;\n        width: 100%;\n        font-size: 15px;\n\n        &:focus {\n          border: $input-border-active;\n          box-shadow: var(--newtab-textbox-focus-boxshadow);\n        }\n\n        &[disabled] {\n          border: $input-border;\n          box-shadow: none;\n          opacity: 0.4;\n        }\n      }\n    }\n\n    .invalid {\n      input {\n        &[type='text'] {\n          border: $input-error-border;\n          box-shadow: $input-error-boxshadow;\n        }\n      }\n    }\n\n    .error-tooltip {\n      animation: fade-up-tt 450ms;\n      background: $red-60;\n      border-radius: 2px;\n      color: $white;\n      offset-inline-start: 3px;\n      padding: 5px 12px;\n      position: absolute;\n      top: 44px;\n      z-index: 1;\n\n      // tooltip caret\n      &::before {\n        background: $red-60;\n        bottom: -8px;\n        content: '.';\n        height: 16px;\n        offset-inline-start: 12px;\n        position: absolute;\n        text-indent: -999px;\n        top: -7px;\n        transform: rotate(45deg);\n        white-space: nowrap;\n        width: 16px;\n        z-index: -1;\n      }\n    }\n  }\n\n  .actions {\n    justify-content: flex-end;\n\n    button {\n      margin-inline-start: 10px;\n      margin-inline-end: 0;\n    }\n  }\n\n  @media (max-width: $break-point-small) {\n    .fields-and-preview {\n      flex-direction: column;\n\n      .top-site-outer {\n        margin-inline-start: 0;\n      }\n    }\n  }\n}\n\n//used for tooltips below form element\n@keyframes fade-up-tt {\n  0% {\n    opacity: 0;\n    transform: translateY(15px);\n  }\n\n  100% {\n    opacity: 1;\n    transform: translateY(0);\n  }\n}\n",
 		".sections-list {\n  .section-list {\n    display: grid;\n    grid-gap: $base-gutter;\n    grid-template-columns: repeat(auto-fit, $card-width);\n    margin: 0;\n\n    @media (max-width: $break-point-medium) {\n      @include context-menu-open-left;\n    }\n\n    @media (min-width: $break-point-medium) and (max-width: $break-point-large) {\n      :nth-child(2n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-large) and (max-width: $break-point-large + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) and (max-width: $break-point-widest + 2 * $card-width) {\n      :nth-child(3n) {\n        @include context-menu-open-left;\n      }\n    }\n\n    @media (min-width: $break-point-widest) {\n      grid-template-columns: repeat(auto-fit, $card-width-large);\n    }\n  }\n\n  .section-empty-state {\n    border: $border-secondary;\n    border-radius: $border-radius;\n    display: flex;\n    height: $card-height;\n    width: 100%;\n\n    .empty-state {\n      margin: auto;\n      max-width: 350px;\n\n      .empty-state-icon {\n        background-position: center;\n        background-repeat: no-repeat;\n        background-size: 50px 50px;\n        -moz-context-properties: fill;\n        display: block;\n        fill: var(--newtab-icon-secondary-color);\n        height: 50px;\n        margin: 0 auto;\n        width: 50px;\n      }\n\n      .empty-state-message {\n        color: var(--newtab-text-primary-color);\n        font-size: 13px;\n        margin-bottom: 0;\n        text-align: center;\n      }\n    }\n\n    @media (min-width: $break-point-widest) {\n      height: $card-height-large;\n    }\n  }\n}\n",
+		".activity-stream {\n  &.welcome {\n    overflow: hidden;\n  }\n\n  &:not(.welcome) {\n    .overlay-wrapper {\n      display: none;\n    }\n  }\n}\n\n.overlay-wrapper {\n  position: fixed;\n  top: 0;\n  width: 100vw;\n  height: 100vh;\n  z-index: 21000;\n  font-weight: 200;\n  transition: opacity 0.4s;\n  opacity: 0;\n\n  &.show {\n    transition: none;\n    opacity: 1;\n\n    .firstrun-sign-in {\n      transition: opacity 1.5s, transform 1.5s;\n      transition-delay: 0.2s;\n      transform: translateY(-50%) scale(1);\n      opacity: 1;\n    }\n\n    .firstrun-firefox-logo {\n      transition: opacity 2.3s;\n      opacity: 1;\n    }\n\n    .firstrun-title,\n    .firstrun-content,\n    .firstrun-link {\n      transition: transform 0.5s, opacity 0.8s;\n      transform: translateY(0);\n      opacity: 1;\n    }\n\n    .firstrun-title {\n      transition-delay: 0.2s;\n    }\n\n    .firstrun-content {\n      transition-delay: 0.4s;\n    }\n\n    .firstrun-link {\n      transition-delay: 0.6s;\n    }\n\n    .fxaccounts-container {\n      transition: none;\n      opacity: 1;\n    }\n  }\n}\n\n.background {\n  width: 100%;\n  height: 100%;\n  display: block;\n  background: url('#{$image-path}fox-tail.png') top -200px center no-repeat,\n  linear-gradient(to bottom, $blue-70 40%, #004EC2 60%, $blue-60 80%, #0080FF 90%, #00C7FF 100%) top center no-repeat,\n  $blue-70;\n  background-size: cover;\n}\n\n.firstrun-sign-in {\n  transform: translateY(-50%) scale(0.8);\n  position: relative;\n  top: 50%;\n  width: 358px;\n  opacity: 0;\n  background-color: $white;\n  float: inline-end;\n  color: $grey-90;\n  text-align: center;\n  padding: 10px;\n\n  .extra-links {\n    font-size: 12px;\n    max-width: 340px;\n    margin: 14px 50px;\n    color: #676F7E;\n    cursor: default;\n\n    a {\n      color: $grey-50;\n      cursor: pointer;\n      text-decoration: underline;\n    }\n\n    a:hover,\n    a:active,\n    a:focus {\n      color: $blue-50;\n    }\n  }\n\n  .email-input {\n    box-shadow: none;\n    margin: auto;\n    width: 244px;\n    display: block;\n    height: 40px;\n    padding-inline-start: 20px;\n    border: 1px solid $grey-50;\n    border-radius: 2px;\n    font-size: 16px;\n\n    &:hover {\n      border-color: $grey-90;\n    }\n  }\n\n  .form-header {\n    font-size: 18px;\n    margin: 15px auto;\n  }\n\n  .form-header span {\n    font-size: 14px;\n    margin-top: 4px;\n    display: block;\n  }\n\n  button {\n    border-radius: 2px;\n    display: block;\n    cursor: pointer;\n    margin: 10px auto 0;\n  }\n\n  .continue-button {\n    font-size: 18px;\n    height: 43px;\n    width: 250px;\n    padding: 8px 0;\n    border: 1px solid $blue-60;\n    color: $white;\n    background-color: $blue-50;\n    transition-duration: 150ms;\n    transition-property: background-color;\n\n    &:not([disabled]):active {\n      background: $blue-70;\n      border-color: $blue-80;\n    }\n  }\n\n  .skip-button {\n    font-size: 13px;\n    margin-top: 40px;\n    margin-bottom: 20px;\n    background-color: #FCFCFC;\n    color: $blue-50;\n    border: 1px solid $blue-50;\n    min-height: 24px;\n    padding: 5px 10px;\n    transition: background-color 150ms, color 150ms, border-color 150ms;\n\n    &[disabled] {\n      background-color: #EBEBEB;\n      border-color: #B1B1B1;\n      color: #6A6A6A;\n      cursor: default;\n      opacity: 0.5;\n    }\n\n    &:not([disabled]):hover {\n      background-color: $blue-50;\n      border-color: $blue-60;\n      color: $white;\n    }\n  }\n}\n\n.firstrun-left-divider {\n  position: relative;\n  float: inline-start;\n  clear: both;\n  width: 435px;\n}\n\n.firstrun-content {\n  line-height: 1.5;\n  margin-bottom: 48px;\n  max-width: 352px;\n  background: url('#{$image-path}sync-devices.svg') bottom center no-repeat;\n  padding-bottom: 210px;\n}\n\n.firstrun-link {\n  color: $white;\n  display: block;\n  text-decoration: underline;\n\n  &:hover,\n  &:active,\n  &:focus {\n    color: $white;\n  }\n}\n\n.firstrun-title {\n  background: url('chrome://branding/content/about-logo.png') top left no-repeat;\n  background-size: 90px 90px;\n  margin: 40px 0 10px;\n  padding-top: 110px;\n  font-weight: 200;\n}\n\n[dir='rtl'] {\n  .firstrun-title {\n    background-position: top right;\n  }\n}\n\n.fxaccounts-container {\n  position: absolute;\n  bottom: 0;\n  right: 0;\n  top: 0;\n  left: 0;\n  color: $white;\n  height: 515px;\n  margin: auto;\n  width: 819px;\n  z-index: 10;\n  transition: opacity 0.3s;\n  opacity: 0;\n}\n\n.firstrun-title,\n.firstrun-content,\n.firstrun-link {\n  opacity: 0;\n  transform: translateY(-5px);\n}\n",
 		".topic {\n  color: var(--newtab-section-navigation-text-color);\n  font-size: 12px;\n  line-height: 1.6;\n  margin-top: $topic-margin-top;\n\n  @media (min-width: $break-point-large) {\n    line-height: 16px;\n  }\n\n  ul {\n    margin: 0;\n    padding: 0;\n    @media (min-width: $break-point-large) {\n      display: inline;\n      padding-inline-start: 12px;\n    }\n  }\n\n\n  ul li {\n    display: inline-block;\n\n    &::after {\n      content: '•';\n      padding: 8px;\n    }\n\n    &:last-child::after {\n      content: none;\n    }\n  }\n\n  .topic-link {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n  }\n\n  .topic-read-more {\n    color: var(--newtab-link-secondary-color);\n    font-weight: bold;\n\n    @media (min-width: $break-point-large) {\n      // This is floating to accomodate a very large number of topics and/or\n      // very long topic names due to l10n.\n      float: right;\n\n      &:dir(rtl) {\n        float: left;\n      }\n    }\n\n    &::after {\n      background: url('#{$image-path}topic-show-more-12.svg') no-repeat center center;\n      content: '';\n      -moz-context-properties: fill;\n      display: inline-block;\n      fill: var(--newtab-link-secondary-color);\n      height: 16px;\n      margin-inline-start: 5px;\n      vertical-align: top;\n      width: 12px;\n    }\n\n    &:dir(rtl)::after  {\n      transform: scaleX(-1);\n    }\n  }\n\n  // This is a clearfix to for the topics-read-more link which is floating and causes\n  // some jank when we set overflow:hidden for the animation.\n  &::after {\n    clear: both;\n    content: '';\n    display: table;\n  }\n}\n",
 		".search-wrapper {\n  $search-height: 35px;\n  $search-icon-size: 18px;\n  $search-icon-padding: 8px;\n  $search-icon-width: 2 * $search-icon-padding + $search-icon-size;\n  $search-input-left-label-width: 35px;\n  $search-button-width: 36px;\n  $glyph-forward: url('chrome://browser/skin/forward.svg');\n\n  cursor: default;\n  display: flex;\n  height: $search-height;\n  margin-bottom: $section-spacing;\n  position: relative;\n  width: 100%;\n\n  input {\n    background: var(--newtab-textbox-background-color) var(--newtab-search-icon) $search-icon-padding center / $search-icon-size no-repeat;\n    border: solid 1px var(--newtab-search-border-color);\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-15;\n    font-size: 15px;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    padding: 0;\n    padding-inline-end: $search-button-width;\n    padding-inline-start: $search-icon-width;\n    width: 100%;\n\n    &:dir(rtl) {\n      background-position-x: right $search-icon-padding;\n    }\n  }\n\n  &:hover input {\n    box-shadow: $shadow-secondary, 0 0 0 1px $black-25;\n  }\n\n  &:active input,\n  input:focus {\n    border: $input-border-active;\n    box-shadow: var(--newtab-textbox-focus-boxshadow);\n  }\n\n  .search-button {\n    background: $glyph-forward no-repeat center center;\n    background-size: 16px 16px;\n    border: 0;\n    border-radius: 0 $border-radius $border-radius 0;\n    -moz-context-properties: fill;\n    fill: var(--newtab-search-icon-color);\n    height: 100%;\n    offset-inline-end: 0;\n    position: absolute;\n    width: $search-button-width;\n\n    &:focus,\n    &:hover {\n      background-color: $grey-90-10;\n      cursor: pointer;\n    }\n\n    &:active {\n      background-color: $grey-90-20;\n    }\n\n    &:dir(rtl) {\n      transform: scaleX(-1);\n    }\n  }\n}\n\n@at-root {\n  // Adjust the style of the contentSearchUI-generated table\n  .contentSearchSuggestionTable {\n    background-color: var(--newtab-search-dropdown-color);\n    border: 0;\n    box-shadow: $context-menu-shadow;\n    transform: translateY($textbox-shadow-size);\n\n    .contentSearchHeader {\n      background-color: var(--newtab-search-dropdown-header-color);\n      color: var(--newtab-text-secondary-color);\n    }\n\n    .contentSearchHeader,\n    .contentSearchSettingsButton {\n      border-color: var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSuggestionsList {\n      border: 0;\n    }\n\n    .contentSearchOneOffsTable {\n      background-color: var(--newtab-search-dropdown-header-color);\n      border-top: solid 1px var(--newtab-border-secondary-color);\n    }\n\n    .contentSearchSearchWithHeaderSearchText {\n      color: var(--newtab-text-primary-color);\n    }\n\n    .contentSearchSuggestionsContainer {\n      background-color: var(--newtab-search-dropdown-color);\n    }\n\n    .contentSearchSuggestionRow {\n      &.selected {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        .historyIcon {\n          fill: var(--newtab-icon-secondary-color);\n        }\n      }\n    }\n\n    .contentSearchOneOffsTable {\n      .contentSearchSuggestionsContainer {\n        background-color: var(--newtab-search-dropdown-header-color);\n      }\n    }\n\n    .contentSearchOneOffItem {\n      // Make the border slightly shorter by offsetting from the top and bottom\n      $border-offset: 18%;\n\n      background-image: none;\n      border-image: linear-gradient(transparent $border-offset, var(--newtab-border-secondary-color) $border-offset, var(--newtab-border-secondary-color) 100% - $border-offset, transparent 100% - $border-offset) 1;\n      border-inline-end: 1px solid;\n      position: relative;\n\n      &.selected {\n        background: var(--newtab-element-hover-color);\n      }\n\n      &:active {\n        background: var(--newtab-element-active-color);\n      }\n    }\n\n    .contentSearchSettingsButton {\n      &:hover {\n        background: var(--newtab-element-hover-color);\n        color: var(--newtab-text-primary-color);\n      }\n    }\n  }\n}\n",
 		".context-menu {\n  background: var(--newtab-contextmenu-background-color);\n  border-radius: $context-menu-border-radius;\n  box-shadow: $context-menu-shadow;\n  display: block;\n  font-size: $context-menu-font-size;\n  margin-inline-start: 5px;\n  offset-inline-start: 100%;\n  position: absolute;\n  top: ($context-menu-button-size / 4);\n  z-index: 10000;\n\n  > ul {\n    list-style: none;\n    margin: 0;\n    padding: $context-menu-outer-padding 0;\n\n    > li {\n      margin: 0;\n      width: 100%;\n\n      &.separator {\n        border-bottom: $border-secondary;\n        margin: $context-menu-outer-padding 0;\n      }\n\n      > a {\n        align-items: center;\n        color: inherit;\n        cursor: pointer;\n        display: flex;\n        line-height: 16px;\n        outline: none;\n        padding: $context-menu-item-padding;\n        white-space: nowrap;\n\n        &:-moz-any(:focus, :hover) {\n          background: var(--newtab-element-hover-color);\n        }\n\n        &:active {\n          background: var(--newtab-element-active-color);\n        }\n\n        &.disabled {\n          opacity: 0.4;\n          pointer-events: none;\n        }\n      }\n    }\n  }\n}\n",
 		".confirmation-dialog {\n  .modal {\n    box-shadow: 0 2px 2px 0 $black-10;\n    left: 50%;\n    margin-left: -200px;\n    position: fixed;\n    top: 20%;\n    width: 400px;\n  }\n\n  section {\n    margin: 0;\n  }\n\n  .modal-message {\n    display: flex;\n    padding: 16px;\n    padding-bottom: 0;\n\n    p {\n      margin: 0;\n      margin-bottom: 16px;\n    }\n  }\n\n  .actions {\n    border: 0;\n    display: flex;\n    flex-wrap: nowrap;\n    padding: 0 16px;\n\n    button {\n      margin-inline-end: 16px;\n      padding-inline-end: 18px;\n      padding-inline-start: 18px;\n      white-space: normal;\n      width: 50%;\n\n      &.done {\n        margin-inline-end: 0;\n        margin-inline-start: 0;\n      }\n    }\n  }\n\n  .icon {\n    margin-inline-end: 16px;\n  }\n}\n\n.modal-overlay {\n  background: var(--newtab-overlay-color);\n  height: 100%;\n  left: 0;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  z-index: 11001;\n}\n\n.modal {\n  background: var(--newtab-modal-color);\n  border: $border-secondary;\n  border-radius: 5px;\n  font-size: 15px;\n  z-index: 11002;\n}\n",
 		".card-outer {\n  @include context-menu-button;\n  background: var(--newtab-card-background-color);\n  border-radius: $border-radius;\n  display: inline-block;\n  height: $card-height;\n  margin-inline-end: $base-gutter;\n  position: relative;\n  width: 100%;\n\n  &.placeholder {\n    background: transparent;\n\n    .card {\n      box-shadow: inset $inner-box-shadow;\n    }\n  }\n\n  .card {\n    border-radius: $border-radius;\n    box-shadow: var(--newtab-card-shadow);\n    height: 100%;\n  }\n\n  > a {\n    color: inherit;\n    display: block;\n    height: 100%;\n    outline: none;\n    position: absolute;\n    width: 100%;\n\n    &:-moz-any(.active, :focus) {\n      .card {\n        @include fade-in-card;\n      }\n\n      .card-title {\n        color: var(--newtab-link-primary-color);\n      }\n    }\n  }\n\n  &:-moz-any(:hover, :focus, .active):not(.placeholder) {\n    @include fade-in-card;\n    @include context-menu-button-hover;\n    outline: none;\n\n    .card-title {\n      color: var(--newtab-link-primary-color);\n    }\n\n    .alternate ~ .card-host-name {\n      display: none;\n    }\n\n    .card-host-name.alternate {\n      display: block;\n    }\n  }\n\n  .card-preview-image-outer {\n    border-radius: $border-radius $border-radius 0 0;\n    height: $card-preview-image-height;\n    overflow: hidden;\n    position: relative;\n\n    &::after {\n      border-bottom: 1px solid var(--newtab-card-hairline-color);\n      bottom: 0;\n      content: '';\n      position: absolute;\n      width: 100%;\n    }\n\n    .card-preview-image {\n      background-position: center;\n      background-repeat: no-repeat;\n      background-size: cover;\n      height: 100%;\n      opacity: 0;\n      transition: opacity 1s $photon-easing;\n      width: 100%;\n\n      &.loaded {\n        opacity: 1;\n      }\n    }\n  }\n\n  .card-details {\n    padding: 15px 16px 12px;\n\n    &.no-image {\n      padding-top: 16px;\n    }\n  }\n\n  .card-text {\n    max-height: 4 * $card-text-line-height + $card-title-margin;\n    overflow: hidden;\n\n    &.no-image {\n      max-height: 10 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name,\n    &.no-context {\n      max-height: 5 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name,\n    &.no-image.no-context {\n      max-height: 11 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-host-name.no-context {\n      max-height: 6 * $card-text-line-height + $card-title-margin;\n    }\n\n    &.no-image.no-host-name.no-context {\n      max-height: 12 * $card-text-line-height + $card-title-margin;\n    }\n\n    &:not(.no-description) .card-title {\n      max-height: 3 * $card-text-line-height;\n      overflow: hidden;\n    }\n  }\n\n  .card-host-name {\n    color: var(--newtab-text-secondary-color);\n    font-size: 10px;\n    overflow: hidden;\n    padding-bottom: 4px;\n    text-overflow: ellipsis;\n    text-transform: uppercase;\n  }\n\n  .card-host-name.alternate { display: none; }\n\n  .card-download-icon {\n    float: inline-end;\n    margin-inline-start: 15px;\n    margin-top: 2px;\n\n    &.icon-download-folder {\n      height: $small-download-folder-icon-size;\n      width: $small-download-folder-icon-size;\n    }\n  }\n\n  .card-title {\n    font-size: 14px;\n    font-weight: 600;\n    line-height: $card-text-line-height;\n    margin: 0 0 $card-title-margin;\n    word-wrap: break-word;\n  }\n\n  .card-description {\n    font-size: 12px;\n    line-height: $card-text-line-height;\n    margin: 0;\n    overflow: hidden;\n    word-wrap: break-word;\n  }\n\n  .card-context {\n    bottom: 0;\n    color: var(--newtab-text-tertiary-color);\n    display: flex;\n    font-size: 11px;\n    left: 0;\n    padding: 9px 16px 9px 14px;\n    position: absolute;\n    right: 0;\n  }\n\n  .card-context-icon {\n    fill: var(--newtab-icon-tertiary-color);\n    height: 22px;\n    margin-inline-end: 6px;\n  }\n\n  .card-context-label {\n    flex-grow: 1;\n    line-height: 22px;\n    overflow: hidden;\n    text-overflow: ellipsis;\n    white-space: nowrap;\n  }\n\n  // Wide layout styles\n  @media (min-width: $break-point-widest) {\n    $line-height: 23px;\n    height: $card-height-large;\n\n    .card-preview-image-outer {\n      height: $card-preview-image-height-large;\n    }\n\n    .card-details {\n      padding: 13px 16px 12px;\n    }\n\n    .card-text {\n      max-height: 6 * $line-height + $card-title-margin;\n    }\n\n    .card-host-name {\n      font-size: 12px;\n      padding-bottom: 5px;\n    }\n\n    .card-download-icon {\n      &.icon-download-folder {\n        height: $large-download-folder-icon-size;\n        width: $large-download-folder-icon-size;\n      }\n    }\n\n    .card-title {\n      font-size: 17px;\n      line-height: $line-height;\n      margin-bottom: 0;\n    }\n\n    .card-text:not(.no-description) {\n      .card-title {\n        max-height: 3 * $line-height;\n      }\n    }\n\n    .card-description {\n      font-size: 15px;\n      line-height: $line-height;\n    }\n\n    .card-context {\n      bottom: 4px;\n      font-size: 14px;\n    }\n  }\n}\n",
 		".manual-migration-container {\n  color: var(--newtab-text-conditional-color);\n  font-size: 13px;\n  line-height: 15px;\n  margin-bottom: $section-spacing;\n  text-align: center;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    text-align: left;\n  }\n\n  p {\n    margin: 0;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: flex;\n      justify-content: space-between;\n    }\n  }\n\n  .icon {\n    display: none;\n    @media (min-width: $break-point-medium) {\n      align-self: center;\n      display: block;\n      fill: var(--newtab-icon-secondary-color);\n      margin-inline-end: 6px;\n    }\n  }\n}\n\n.manual-migration-actions {\n  border: 0;\n  display: block;\n  flex-wrap: nowrap;\n\n  @media (min-width: $break-point-medium) {\n    display: flex;\n    justify-content: space-between;\n    padding: 0;\n  }\n\n  button {\n    align-self: center;\n    height: 26px;\n    margin: 0;\n    margin-inline-start: 20px;\n    padding: 0 12px;\n  }\n}\n",
 		".collapsible-section {\n  padding: $section-vertical-padding $section-horizontal-padding;\n  transition-delay: 100ms;\n  transition-duration: 100ms;\n  transition-property: background-color;\n\n  .section-title {\n    font-size: $section-title-font-size;\n    font-weight: bold;\n    margin: 0;\n    text-transform: uppercase;\n\n    span {\n      color: var(--newtab-section-header-text-color);\n      display: inline-block;\n      fill: var(--newtab-section-header-text-color);\n      vertical-align: middle;\n    }\n\n    .click-target {\n      cursor: pointer;\n      vertical-align: top;\n      white-space: nowrap;\n    }\n\n    .collapsible-arrow {\n      margin-inline-start: 8px;\n      margin-top: -1px;\n    }\n  }\n\n  .section-top-bar {\n    height: 19px;\n    margin-bottom: 13px;\n    position: relative;\n\n    .context-menu-button {\n      background: url('chrome://browser/skin/page-action.svg') no-repeat right center;\n      border: 0;\n      cursor: pointer;\n      fill: var(--newtab-section-header-text-color);\n      height: 100%;\n      offset-inline-end: 0;\n      opacity: 0;\n      position: absolute;\n      top: 0;\n      transition-duration: 200ms;\n      transition-property: opacity;\n      width: $context-menu-button-size;\n\n      &:-moz-any(:active, :focus, :hover) {\n        fill: $grey-90;\n        opacity: 1;\n      }\n    }\n\n    .context-menu {\n      top: 16px;\n    }\n\n    @media (max-width: $break-point-widest + $card-width * 1.5) {\n      @include context-menu-open-left;\n    }\n  }\n\n  &:hover,\n  &.active {\n    .section-top-bar {\n      .context-menu-button {\n        opacity: 1;\n      }\n    }\n  }\n\n  &.active {\n    background: var(--newtab-element-hover-color);\n    border-radius: 4px;\n\n    .section-top-bar {\n      .context-menu-button {\n        fill: var(--newtab-section-active-contextmenu-color);\n      }\n    }\n  }\n\n  .section-disclaimer {\n    $max-button-width: 130px;\n    $min-button-height: 26px;\n\n    color: var(--newtab-text-conditional-color);\n    font-size: 13px;\n    margin-bottom: 16px;\n    position: relative;\n\n    .section-disclaimer-text {\n      display: inline-block;\n      min-height: $min-button-height;\n      width: calc(100% - #{$max-button-width});\n\n      @media (max-width: $break-point-medium) {\n        width: $card-width;\n      }\n    }\n\n    a {\n      color: var(--newtab-link-primary-color);\n      font-weight: bold;\n      padding-left: 3px;\n    }\n\n    button {\n      background: var(--newtab-button-secondary-color);\n      border: 1px solid $grey-40;\n      border-radius: 4px;\n      cursor: pointer;\n      margin-top: 2px;\n      max-width: $max-button-width;\n      min-height: $min-button-height;\n      offset-inline-end: 0;\n\n      &:hover:not(.dismiss) {\n        box-shadow: $shadow-primary;\n        transition: box-shadow 150ms;\n      }\n\n      @media (min-width: $break-point-small) {\n        position: absolute;\n      }\n    }\n  }\n\n  .section-body-fallback {\n    height: $card-height;\n  }\n\n  .section-body {\n    // This is so the top sites favicon and card dropshadows don't get clipped during animation:\n    $horizontal-padding: 7px;\n    margin: 0 (-$horizontal-padding);\n    padding: 0 $horizontal-padding;\n\n    &.animating {\n      overflow: hidden;\n      pointer-events: none;\n    }\n  }\n\n  &.animation-enabled {\n    .section-title {\n      .collapsible-arrow {\n        transition: transform 0.5s $photon-easing;\n      }\n    }\n\n    .section-body {\n      transition: max-height 0.5s $photon-easing;\n    }\n  }\n\n  &.collapsed {\n    .section-body {\n      max-height: 0;\n      overflow: hidden;\n    }\n  }\n}\n",
 		"\n.asrouter-admin {\n  $border-color: var(--newtab-border-secondary-color);\n  $monospace: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono', 'Droid Sans Mono', 'Source Code Pro', monospace;\n  max-width: 996px;\n  margin: 0 auto;\n  font-size: 14px;\n  // Reset .outer-wrapper styles\n  display: inherit;\n  padding: 0 0 92px;\n\n  h1 {\n    font-weight: 200;\n    font-size: 32px;\n  }\n\n  table {\n    border-collapse: collapse;\n    width: 100%;\n  }\n\n  .message-item {\n    &:first-child td {\n      border-top: 1px solid $border-color;\n    }\n\n    td {\n      vertical-align: top;\n      border-bottom: 1px solid $border-color;\n      padding: 8px;\n\n      &:first-child {\n        border-left: 1px solid $border-color;\n      }\n\n      &:last-child {\n        border-right: 1px solid $border-color;\n      }\n    }\n\n    &.current {\n      .message-id span {\n        background: $yellow-50;\n        padding: 2px 5px;\n\n        .dark-theme & {\n          color: $black;\n        }\n      }\n    }\n\n    &.blocked {\n      .message-id,\n      .message-summary {\n        opacity: 0.5;\n      }\n\n      .message-id {\n        opacity: 0.5;\n      }\n    }\n\n    .message-id {\n      font-family: $monospace;\n      font-size: 12px;\n    }\n  }\n\n  pre {\n    background: var(--newtab-textbox-background-color);\n    margin: 0;\n    padding: 8px;\n    font-size: 12px;\n    max-width: 750px;\n    overflow: auto;\n    font-family: $monospace;\n  }\n}\n",
 		".ASRouterButton {\n  white-space: nowrap;\n  border-radius: 4px;\n  border: 1px solid var(--newtab-border-secondary-color);\n  background-color: var(--newtab-button-secondary-color);\n  font-family: inherit;\n  padding: 8px 15px;\n  margin-left: 12px;\n  color: inherit;\n}\n",
 		".SnippetBaseContainer {\n  position: fixed;\n  bottom: 0;\n  left: 0;\n  right: 0;\n  background-color: var(--newtab-snippets-background-color);\n  color: var(--newtab-text-primary-color);\n  font-size: 12px;\n  line-height: 16px;\n  border-top: 1px solid var(--newtab-snippets-hairline-color);\n  box-shadow: $shadow-secondary;\n  display: flex;\n  align-items: center;\n\n  .innerWrapper {\n    margin: 0 auto;\n    display: flex;\n    align-items: center;\n    padding: 12px $section-horizontal-padding;\n\n    // This is to account for the block button on smaller screens\n    padding-inline-end: 36px;\n    @media (min-width: $break-point-large) {\n      padding-inline-end: $section-horizontal-padding;\n    }\n\n    max-width: $wrapper-max-width-large;\n    @media (min-width: $break-point-widest) {\n      max-width: $wrapper-max-width-widest;\n    }\n  }\n\n  .blockButton {\n    display: none;\n    background: none;\n    border: 0;\n    position: absolute;\n    top: 50%;\n    offset-inline-end: 12px;\n    height: 16px;\n    width: 16px;\n    background-image: url('resource://activity-stream/data/content/assets/glyph-dismiss-16.svg');\n    -moz-context-properties: fill;\n    fill: var(--newtab-icon-primary-color);\n    opacity: 0.5;\n    margin-top: -8px;\n    padding: 0;\n    cursor: pointer;\n\n    @media (min-width: 766px) {\n      offset-inline-end: 24px;\n    }\n  }\n\n  &:hover .blockButton {\n    display: block;\n  }\n}\n",
-		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n}\n"
+		".activity-stream {\n  &.modal-open {\n    overflow: hidden;\n  }\n}\n.modalOverlayOuter {\n  background: $white;\n  opacity: 0.93;\n  height: 100%;\n  position: fixed;\n  top: 0;\n  width: 100%;\n  display: none;\n  z-index: 100000;\n\n  &.active {\n    display: block;\n  }\n}\n\n.modalOverlayInner {\n  width: 960px;\n  height: 510px;\n  position: fixed;\n  top: calc(50% - 255px); // halfway down minus half the height of the modal\n  left: calc(50% - 480px); // halfway across minus half the width of the modal\n  background: $white;\n  box-shadow: 0 1px 15px 0 $black-30;\n  border-radius: 4px;\n  display: none;\n  z-index: 100001;\n\n\n  // modal takes over entire screen\n  @media(max-width: 960px) {\n    width: 100%;\n    height: 100%;\n    top: 0;\n    left: 0;\n    box-shadow: none;\n    border-radius: 0;\n  }\n\n  // if modal is short enough, add a vertical scroll bar\n  @media(max-width: 850px) and (max-height: 730px) {\n    overflow-y: scroll;\n  }\n\n  &.active {\n    display: block;\n  }\n\n  h2 {\n    color: $grey-60;\n    text-align: center;\n    font-weight: 200;\n    margin-top: 30px;\n    font-size: 28px;\n    line-height: 37px;\n    letter-spacing: -0.13px;\n\n    @media(max-width: 960px) {\n      margin-top: 100px;\n    }\n\n    @media(max-width: 850px) {\n      margin-top: 30px;\n    }\n  }\n\n  .footer {\n    border-top: 1px solid $grey-30;\n    height: 70px;\n    width: 100%;\n    position: absolute;\n    bottom: 0;\n    text-align: center;\n    background-color: $white;\n\n    // if modal is short enough, footer becomes sticky\n    @media(max-width: 850px) and (max-height: 730px) {\n      position: sticky;\n    }\n\n    .modalButton {\n      margin-top: 20px;\n      width: 150px;\n      height: 30px;\n      padding: 4px 0 6px 0;\n      font-size: 15px;\n    }\n  }\n}\n",
+		".SimpleSnippet {\n  .title {\n    display: inline;\n    font-size: inherit;\n    margin: 0;\n  }\n\n  .body {\n    display: inline;\n    margin: 0;\n  }\n\n  .icon {\n    height: 42px;\n    width: 42px;\n    margin-inline-end: 12px;\n    flex-shrink: 0;\n  }\n\n  .ASRouterAnchor {\n    color: inherit;\n    text-decoration: underline;\n  }\n}\n",
+		".onboardingMessageContainer {\n  display: grid;\n  grid-column-gap: 21px;\n  grid-template-columns: auto auto auto;\n  padding-left: 30px;\n  padding-right: 30px;\n\n  // at 850px, the cards go from vertical layout to horizontal layout\n  @media(max-width: 850px) {\n    grid-template-columns: none;\n    grid-template-rows: auto auto auto;\n    padding-left: 110px;\n    padding-right: 110px;\n  }\n}\n\n.onboardingMessage {\n  height: 340px;\n  text-align: center;\n  padding: 13px;\n  font-weight: 200;\n\n  // at 850px, img floats left, content floats right next to it\n  @media(max-width: 850px) {\n    height: 170px;\n    text-align: left;\n    padding: 10px;\n    border-bottom: 1px solid #D8D8D8;\n    display: flex;\n    margin-bottom: 11px;\n\n    &:last-child {\n      border: none;\n    }\n\n    .onboardingContent {\n      padding-left: 10px;\n      height: 100%;\n\n      > span > h3 {\n        margin-top: 0;\n        margin-bottom: 4px;\n        font-weight: 400;\n      }\n\n      > span > p {\n        margin-top: 0;\n        line-height: 22px;\n        font-size: 15px;\n      }\n    }\n  }\n\n  .onboardingMessageImage {\n    height: 100px;\n    width: 120px;\n    background-size: 120px;\n    background-position: center center;\n    background-repeat: no-repeat;\n    display: inline-block;\n    vertical-align: middle;\n\n\n    @media(max-width: 850px) {\n      height: 75px;\n      width: 160px;\n      background-size: 80px;\n    }\n\n    &.addons {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-addons@2x.png\");\n    }\n\n    &.privatebrowsing {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-privatebrowsing@2x.png\");\n    }\n\n    &.screenshots {\n      background-image: url(\"resource://activity-stream/data/content/assets/illustration-screenshots@2x.png\");\n    }\n  }\n\n  .onboardingContent {\n    height: 175px;\n\n    > span > h3 {\n      color: $grey-90;\n      margin-bottom: 8px;\n      font-weight: 400;\n    }\n\n    > span > p {\n      color: $grey-60;\n      margin-top: 0;\n      height: 130px;\n      margin-bottom: 12px;\n      font-size: 15px;\n      line-height: 22px;\n    }\n  }\n\n  .onboardingButton {\n    background-color: $grey-90-10;\n    border: none;\n    width: 150px;\n    height: 30px;\n    margin-bottom: 23px;\n    padding: 4px 0 6px 0;\n    font-size: 15px;\n\n    // at 850px, the button shimmies down and to the right\n    @media(max-width: 850px) {\n      float: right;\n      margin-top: -60px;\n      margin-right: -10px;\n    }\n  }\n\n\n  &::before {\n    content: '';\n    height: 220px;\n    width: 1px;\n    position: absolute;\n    background-color: #D8D8D8;\n    margin-top: 40px;\n    margin-left: 215px;\n\n    // at 850px, the line goes from vertical to horizontal\n    @media(max-width: 850px) {\n      content: none;\n    }\n  }\n\n  &:last-child::before {\n    content: none;\n  }\n}\n"
 	],
 	"names": [],
-	"mappings": "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"
+	"mappings": "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"
 }
\ No newline at end of file
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js
@@ -74,18 +74,18 @@ module.exports = React;
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* unused harmony export MAIN_MESSAGE_TYPE */
 /* unused harmony export CONTENT_MESSAGE_TYPE */
 /* unused harmony export PRELOAD_MESSAGE_TYPE */
 /* unused harmony export UI_CODE */
 /* unused harmony export BACKGROUND_PROCESS */
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return actionCreators; });
-/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return actionUtils; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return actionCreators; });
+/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return actionUtils; });
 /* 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/. */
 
 
 var MAIN_MESSAGE_TYPE = "ActivityStream:Main";
 var CONTENT_MESSAGE_TYPE = "ActivityStream:Content";
 var PRELOAD_MESSAGE_TYPE = "ActivityStream:PreloadedBrowser";
@@ -104,23 +104,33 @@ const globalImportContext = typeof Windo
 // Export for tests
 
 // Create an object that avoids accidental differing key/value pairs:
 // {
 //   INIT: "INIT",
 //   UNINIT: "UNINIT"
 // }
 const actionTypes = {};
-/* harmony export (immutable) */ __webpack_exports__["b"] = actionTypes;
-
-
-for (const type of ["ARCHIVE_FROM_POCKET", "AS_ROUTER_TELEMETRY_USER_EVENT", "BLOCK_URL", "BOOKMARK_URL", "COPY_DOWNLOAD_LINK", "DELETE_BOOKMARK_BY_ID", "DELETE_FROM_POCKET", "DELETE_HISTORY_URL", "DIALOG_CANCEL", "DIALOG_OPEN", "DISABLE_ONBOARDING", "DOWNLOAD_CHANGED", "INIT", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_DOWNLOAD_FILE", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "PAGE_PRERENDERED", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINKS_CHANGED", "PLACES_LINK_BLOCKED", "PLACES_LINK_DELETED", "PLACES_SAVED_TO_POCKET", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "PREVIEW_REQUEST", "PREVIEW_REQUEST_CANCEL", "PREVIEW_RESPONSE", "REMOVE_DOWNLOAD_FILE", "RICH_ICON_MISSING", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_MOVE", "SECTION_OPTIONS_CHANGED", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SETTINGS_CLOSE", "SETTINGS_OPEN", "SET_PREF", "SHOW_DOWNLOAD_FILE", "SHOW_FIREFOX_ACCOUNTS", "SNIPPETS_BLOCKLIST_CLEARED", "SNIPPETS_BLOCKLIST_UPDATED", "SNIPPETS_DATA", "SNIPPETS_RESET", "SNIPPET_BLOCKED", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "THEME_UPDATE", "TOP_SITES_CANCEL_EDIT", "TOP_SITES_EDIT", "TOP_SITES_INSERT", "TOP_SITES_PIN", "TOP_SITES_PREFS_UPDATED", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "TOTAL_BOOKMARKS_REQUEST", "TOTAL_BOOKMARKS_RESPONSE", "UNINIT", "UPDATE_SECTION_PREFS", "WEBEXT_CLICK", "WEBEXT_DISMISS"]) {
+/* harmony export (immutable) */ __webpack_exports__["c"] = actionTypes;
+
+
+for (const type of ["ARCHIVE_FROM_POCKET", "AS_ROUTER_TELEMETRY_USER_EVENT", "BLOCK_URL", "BOOKMARK_URL", "COPY_DOWNLOAD_LINK", "DELETE_BOOKMARK_BY_ID", "DELETE_FROM_POCKET", "DELETE_HISTORY_URL", "DIALOG_CANCEL", "DIALOG_OPEN", "DISABLE_ONBOARDING", "DOWNLOAD_CHANGED", "INIT", "MIGRATION_CANCEL", "MIGRATION_COMPLETED", "MIGRATION_START", "NEW_TAB_INIT", "NEW_TAB_INITIAL_STATE", "NEW_TAB_LOAD", "NEW_TAB_REHYDRATED", "NEW_TAB_STATE_REQUEST", "NEW_TAB_UNLOAD", "OPEN_DOWNLOAD_FILE", "OPEN_LINK", "OPEN_NEW_WINDOW", "OPEN_PRIVATE_WINDOW", "OPEN_WEBEXT_SETTINGS", "PAGE_PRERENDERED", "PLACES_BOOKMARK_ADDED", "PLACES_BOOKMARK_REMOVED", "PLACES_HISTORY_CLEARED", "PLACES_LINKS_CHANGED", "PLACES_LINK_BLOCKED", "PLACES_LINK_DELETED", "PLACES_SAVED_TO_POCKET", "PREFS_INITIAL_VALUES", "PREF_CHANGED", "PREVIEW_REQUEST", "PREVIEW_REQUEST_CANCEL", "PREVIEW_RESPONSE", "REMOVE_DOWNLOAD_FILE", "RICH_ICON_MISSING", "SAVE_SESSION_PERF_DATA", "SAVE_TO_POCKET", "SCREENSHOT_UPDATED", "SECTION_DEREGISTER", "SECTION_DISABLE", "SECTION_ENABLE", "SECTION_MOVE", "SECTION_OPTIONS_CHANGED", "SECTION_REGISTER", "SECTION_UPDATE", "SECTION_UPDATE_CARD", "SETTINGS_CLOSE", "SETTINGS_OPEN", "SET_PREF", "SHOW_DOWNLOAD_FILE", "SHOW_FIREFOX_ACCOUNTS", "SKIPPED_SIGNIN", "SNIPPETS_BLOCKLIST_CLEARED", "SNIPPETS_BLOCKLIST_UPDATED", "SNIPPETS_DATA", "SNIPPETS_RESET", "SNIPPET_BLOCKED", "SUBMIT_EMAIL", "SYSTEM_TICK", "TELEMETRY_IMPRESSION_STATS", "TELEMETRY_PERFORMANCE_EVENT", "TELEMETRY_UNDESIRED_EVENT", "TELEMETRY_USER_EVENT", "THEME_UPDATE", "TOP_SITES_CANCEL_EDIT", "TOP_SITES_EDIT", "TOP_SITES_INSERT", "TOP_SITES_PIN", "TOP_SITES_PREFS_UPDATED", "TOP_SITES_UNPIN", "TOP_SITES_UPDATED", "TOTAL_BOOKMARKS_REQUEST", "TOTAL_BOOKMARKS_RESPONSE", "UNINIT", "UPDATE_SECTION_PREFS", "WEBEXT_CLICK", "WEBEXT_DISMISS"]) {
   actionTypes[type] = type;
 }
 
+// These are acceptable actions for AS Router messages to have. They can show up
+// as call-to-action buttons in snippets, onboarding tour, etc.
+const ASRouterActions = {};
+/* harmony export (immutable) */ __webpack_exports__["a"] = ASRouterActions;
+
+
+for (const type of ["OPEN_PRIVATE_BROWSER_WINDOW", "OPEN_URL", "OPEN_ABOUT_PAGE"]) {
+  ASRouterActions[type] = type;
+}
+
 // Helper function for creating routed actions between content and main
 // Not intended to be used by consumers
 function _RouteMessage(action, options) {
   const meta = action.meta ? Object.assign({}, action.meta) : {};
   if (!options || !options.from || !options.to) {
     throw new Error("Routed Messages must have options as the second parameter, and must at least include a .from and .to property.");
   }
   // For each of these fields, if they are passed as an option,
@@ -520,17 +530,17 @@ const INITIAL_STATE = {
   Sections: []
 };
 /* unused harmony export INITIAL_STATE */
 
 
 
 function App(prevState = INITIAL_STATE.App, action) {
   switch (action.type) {
-    case Actions["b" /* actionTypes */].INIT:
+    case Actions["c" /* actionTypes */].INIT:
       return Object.assign({}, prevState, action.data || {}, { initialized: true });
     default:
       return prevState;
   }
 }
 
 /**
  * insertPinned - Inserts pinned links in their specified slots
@@ -567,161 +577,161 @@ function insertPinned(links, pinned) {
   return newLinks;
 }
 
 
 function TopSites(prevState = INITIAL_STATE.TopSites, action) {
   let hasMatch;
   let newRows;
   switch (action.type) {
-    case Actions["b" /* actionTypes */].TOP_SITES_UPDATED:
+    case Actions["c" /* actionTypes */].TOP_SITES_UPDATED:
       if (!action.data || !action.data.links) {
         return prevState;
       }
       return Object.assign({}, prevState, { initialized: true, rows: action.data.links }, action.data.pref ? { pref: action.data.pref } : {});
-    case Actions["b" /* actionTypes */].TOP_SITES_PREFS_UPDATED:
+    case Actions["c" /* actionTypes */].TOP_SITES_PREFS_UPDATED:
       return Object.assign({}, prevState, { pref: action.data.pref });
-    case Actions["b" /* actionTypes */].TOP_SITES_EDIT:
+    case Actions["c" /* actionTypes */].TOP_SITES_EDIT:
       return Object.assign({}, prevState, {
         editForm: {
           index: action.data.index,
           previewResponse: null
         }
       });
-    case Actions["b" /* actionTypes */].TOP_SITES_CANCEL_EDIT:
+    case Actions["c" /* actionTypes */].TOP_SITES_CANCEL_EDIT:
       return Object.assign({}, prevState, { editForm: null });
-    case Actions["b" /* actionTypes */].PREVIEW_RESPONSE:
+    case Actions["c" /* actionTypes */].PREVIEW_RESPONSE:
       if (!prevState.editForm || action.data.url !== prevState.editForm.previewUrl) {
         return prevState;
       }
       return Object.assign({}, prevState, {
         editForm: {
           index: prevState.editForm.index,
           previewResponse: action.data.preview,
           previewUrl: action.data.url
         }
       });
-    case Actions["b" /* actionTypes */].PREVIEW_REQUEST:
+    case Actions["c" /* actionTypes */].PREVIEW_REQUEST:
       if (!prevState.editForm) {
         return prevState;
       }
       return Object.assign({}, prevState, {
         editForm: {
           index: prevState.editForm.index,
           previewResponse: null,
           previewUrl: action.data.url
         }
       });
-    case Actions["b" /* actionTypes */].PREVIEW_REQUEST_CANCEL:
+    case Actions["c" /* actionTypes */].PREVIEW_REQUEST_CANCEL:
       if (!prevState.editForm) {
         return prevState;
       }
       return Object.assign({}, prevState, {
         editForm: {
           index: prevState.editForm.index,
           previewResponse: null
         }
       });
-    case Actions["b" /* actionTypes */].SCREENSHOT_UPDATED:
+    case Actions["c" /* actionTypes */].SCREENSHOT_UPDATED:
       newRows = prevState.rows.map(row => {
         if (row && row.url === action.data.url) {
           hasMatch = true;
           return Object.assign({}, row, { screenshot: action.data.screenshot });
         }
         return row;
       });
       return hasMatch ? Object.assign({}, prevState, { rows: newRows }) : prevState;
-    case Actions["b" /* actionTypes */].PLACES_BOOKMARK_ADDED:
+    case Actions["c" /* actionTypes */].PLACES_BOOKMARK_ADDED:
       if (!action.data) {
         return prevState;
       }
       newRows = prevState.rows.map(site => {
         if (site && site.url === action.data.url) {
           const { bookmarkGuid, bookmarkTitle, dateAdded } = action.data;
           return Object.assign({}, site, { bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded });
         }
         return site;
       });
       return Object.assign({}, prevState, { rows: newRows });
-    case Actions["b" /* actionTypes */].PLACES_BOOKMARK_REMOVED:
+    case Actions["c" /* actionTypes */].PLACES_BOOKMARK_REMOVED:
       if (!action.data) {
         return prevState;
       }
       newRows = prevState.rows.map(site => {
         if (site && site.url === action.data.url) {
           const newSite = Object.assign({}, site);
           delete newSite.bookmarkGuid;
           delete newSite.bookmarkTitle;
           delete newSite.bookmarkDateCreated;
           return newSite;
         }
         return site;
       });
       return Object.assign({}, prevState, { rows: newRows });
-    case Actions["b" /* actionTypes */].PLACES_LINK_DELETED:
+    case Actions["c" /* actionTypes */].PLACES_LINK_DELETED:
       if (!action.data) {
         return prevState;
       }
       newRows = prevState.rows.filter(site => action.data.url !== site.url);
       return Object.assign({}, prevState, { rows: newRows });
     default:
       return prevState;
   }
 }
 
 function Dialog(prevState = INITIAL_STATE.Dialog, action) {
   switch (action.type) {
-    case Actions["b" /* actionTypes */].DIALOG_OPEN:
+    case Actions["c" /* actionTypes */].DIALOG_OPEN:
       return Object.assign({}, prevState, { visible: true, data: action.data });
-    case Actions["b" /* actionTypes */].DIALOG_CANCEL:
+    case Actions["c" /* actionTypes */].DIALOG_CANCEL:
       return Object.assign({}, prevState, { visible: false });
-    case Actions["b" /* actionTypes */].DELETE_HISTORY_URL:
+    case Actions["c" /* actionTypes */].DELETE_HISTORY_URL:
       return Object.assign({}, INITIAL_STATE.Dialog);
     default:
       return prevState;
   }
 }
 
 function Prefs(prevState = INITIAL_STATE.Prefs, action) {
   let newValues;
   switch (action.type) {
-    case Actions["b" /* actionTypes */].PREFS_INITIAL_VALUES:
+    case Actions["c" /* actionTypes */].PREFS_INITIAL_VALUES:
       return Object.assign({}, prevState, { initialized: true, values: action.data });
-    case Actions["b" /* actionTypes */].PREF_CHANGED:
+    case Actions["c" /* actionTypes */].PREF_CHANGED:
       newValues = Object.assign({}, prevState.values);
       newValues[action.data.name] = action.data.value;
       return Object.assign({}, prevState, { values: newValues });
     default:
       return prevState;
   }
 }
 
 function Sections(prevState = INITIAL_STATE.Sections, action) {
   let hasMatch;
   let newState;
   switch (action.type) {
-    case Actions["b" /* actionTypes */].SECTION_DEREGISTER:
+    case Actions["c" /* actionTypes */].SECTION_DEREGISTER:
       return prevState.filter(section => section.id !== action.data);
-    case Actions["b" /* actionTypes */].SECTION_REGISTER:
+    case Actions["c" /* actionTypes */].SECTION_REGISTER:
       // If section exists in prevState, update it
       newState = prevState.map(section => {
         if (section && section.id === action.data.id) {
           hasMatch = true;
           return Object.assign({}, section, action.data);
         }
         return section;
       });
       // Otherwise, append it
       if (!hasMatch) {
         const initialized = !!(action.data.rows && action.data.rows.length > 0);
         const section = Object.assign({ title: "", rows: [], enabled: false }, action.data, { initialized });
         newState.push(section);
       }
       return newState;
-    case Actions["b" /* actionTypes */].SECTION_UPDATE:
+    case Actions["c" /* actionTypes */].SECTION_UPDATE:
       newState = prevState.map(section => {
         if (section && section.id === action.data.id) {
           // If the action is updating rows, we should consider initialized to be true.
           // This can be overridden if initialized is defined in the action.data
           const initialized = action.data.rows ? { initialized: true } : {};
 
           // Make sure pinned cards stay at their current position when rows are updated.
           // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.
@@ -756,30 +766,30 @@ function Sections(prevState = INITIAL_ST
             return Object.assign({}, section, { rows: dedupedRows });
           }
 
           return section;
         });
       });
 
       return newState;
-    case Actions["b" /* actionTypes */].SECTION_UPDATE_CARD:
+    case Actions["c" /* actionTypes */].SECTION_UPDATE_CARD:
       return prevState.map(section => {
         if (section && section.id === action.data.id && section.rows) {
           const newRows = section.rows.map(card => {
             if (card.url === action.data.url) {
               return Object.assign({}, card, action.data.options);
             }
             return card;
           });
           return Object.assign({}, section, { rows: newRows });
         }
         return section;
       });
-    case Actions["b" /* actionTypes */].PLACES_BOOKMARK_ADDED:
+    case Actions["c" /* actionTypes */].PLACES_BOOKMARK_ADDED:
       if (!action.data) {
         return prevState;
       }
       return prevState.map(section => Object.assign({}, section, {
         rows: section.rows.map(item => {
           // find the item within the rows that is attempted to be bookmarked
           if (item.url === action.data.url) {
             const { bookmarkGuid, bookmarkTitle, dateAdded } = action.data;
@@ -788,34 +798,34 @@ function Sections(prevState = INITIAL_ST
               bookmarkTitle,
               bookmarkDateCreated: dateAdded,
               type: "bookmark"
             });
           }
           return item;
         })
       }));
-    case Actions["b" /* actionTypes */].PLACES_SAVED_TO_POCKET:
+    case Actions["c" /* actionTypes */].PLACES_SAVED_TO_POCKET:
       if (!action.data) {
         return prevState;
       }
       return prevState.map(section => Object.assign({}, section, {
         rows: section.rows.map(item => {
           if (item.url === action.data.url) {
             return Object.assign({}, item, {
               open_url: action.data.open_url,
               pocket_id: action.data.pocket_id,
               title: action.data.title,
               type: "pocket"
             });
           }
           return item;
         })
       }));
-    case Actions["b" /* actionTypes */].PLACES_BOOKMARK_REMOVED:
+    case Actions["c" /* actionTypes */].PLACES_BOOKMARK_REMOVED:
       if (!action.data) {
         return prevState;
       }
       return prevState.map(section => Object.assign({}, section, {
         rows: section.rows.map(item => {
           // find the bookmark within the rows that is attempted to be removed
           if (item.url === action.data.url) {
             const newSite = Object.assign({}, item);
@@ -825,48 +835,48 @@ function Sections(prevState = INITIAL_ST
             if (!newSite.type || newSite.type === "bookmark") {
               newSite.type = "history";
             }
             return newSite;
           }
           return item;
         })
       }));
-    case Actions["b" /* actionTypes */].PLACES_LINK_DELETED:
-    case Actions["b" /* actionTypes */].PLACES_LINK_BLOCKED:
+    case Actions["c" /* actionTypes */].PLACES_LINK_DELETED:
+    case Actions["c" /* actionTypes */].PLACES_LINK_BLOCKED:
       if (!action.data) {
         return prevState;
       }
       return prevState.map(section => Object.assign({}, section, { rows: section.rows.filter(site => site.url !== action.data.url) }));
-    case Actions["b" /* actionTypes */].DELETE_FROM_POCKET:
-    case Actions["b" /* actionTypes */].ARCHIVE_FROM_POCKET:
+    case Actions["c" /* actionTypes */].DELETE_FROM_POCKET:
+    case Actions["c" /* actionTypes */].ARCHIVE_FROM_POCKET:
       return prevState.map(section => Object.assign({}, section, { rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id) }));
     default:
       return prevState;
   }
 }
 
 function Snippets(prevState = INITIAL_STATE.Snippets, action) {
   switch (action.type) {
-    case Actions["b" /* actionTypes */].SNIPPETS_DATA:
+    case Actions["c" /* actionTypes */].SNIPPETS_DATA:
       return Object.assign({}, prevState, { initialized: true }, action.data);
-    case Actions["b" /* actionTypes */].SNIPPET_BLOCKED:
+    case Actions["c" /* actionTypes */].SNIPPET_BLOCKED:
       return Object.assign({}, prevState, { blockList: prevState.blockList.concat(action.data) });
-    case Actions["b" /* actionTypes */].SNIPPETS_BLOCKLIST_CLEARED:
+    case Actions["c" /* actionTypes */].SNIPPETS_BLOCKLIST_CLEARED:
       return Object.assign({}, prevState, { blockList: [] });
-    case Actions["b" /* actionTypes */].SNIPPETS_RESET:
+    case Actions["c" /* actionTypes */].SNIPPETS_RESET:
       return INITIAL_STATE.Snippets;
     default:
       return prevState;
   }
 }
 
 function Theme(prevState = INITIAL_STATE.Theme, action) {
   switch (action.type) {
-    case Actions["b" /* actionTypes */].THEME_UPDATE:
+    case Actions["c" /* actionTypes */].THEME_UPDATE:
       return Object.assign({}, prevState, action.data);
     default:
       return prevState;
   }
 }
 
 var reducers = { TopSites, App, Snippets, Prefs, Dialog, Sections, Theme };
 
@@ -874,144 +884,183 @@ var reducers = { TopSites, App, Snippets
 /* 7 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony export (immutable) */ __webpack_exports__["b"] = initASRouter;
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_init_store__ = __webpack_require__(8);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_ImpressionsWrapper_ImpressionsWrapper__ = __webpack_require__(22);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_dom__ = __webpack_require__(9);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_dom__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__templates_SimpleSnippet_SimpleSnippet__ = __webpack_require__(23);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__templates_OnboardingMessage_OnboardingMessage__ = __webpack_require__(23);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom__ = __webpack_require__(9);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_dom__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__templates_SimpleSnippet_SimpleSnippet__ = __webpack_require__(24);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
 
 
+
 const INCOMING_MESSAGE_NAME = "ASRouter:parent-to-child";
 const OUTGOING_MESSAGE_NAME = "ASRouter:child-to-parent";
 
 const ASRouterUtils = {
   addListener(listener) {
     global.addMessageListener(INCOMING_MESSAGE_NAME, listener);
   },
   removeListener(listener) {
     global.removeMessageListener(INCOMING_MESSAGE_NAME, listener);
   },
   sendMessage(action) {
     global.sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);
   },
   blockById(id) {
     ASRouterUtils.sendMessage({ type: "BLOCK_MESSAGE_BY_ID", data: { id } });
   },
+  blockBundle(bundle) {
+    ASRouterUtils.sendMessage({ type: "BLOCK_BUNDLE", data: { bundle } });
+  },
+  executeAction({ button_action, button_action_params }) {
+    if (button_action in __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* ASRouterActions */]) {
+      ASRouterUtils.sendMessage({ type: button_action, data: { button_action_params } });
+    }
+  },
   unblockById(id) {
     ASRouterUtils.sendMessage({ type: "UNBLOCK_MESSAGE_BY_ID", data: { id } });
   },
+  unblockBundle(bundle) {
+    ASRouterUtils.sendMessage({ type: "UNBLOCK_BUNDLE", data: { bundle } });
+  },
   getNextMessage() {
     ASRouterUtils.sendMessage({ type: "GET_NEXT_MESSAGE" });
   },
   overrideMessage(id) {
     ASRouterUtils.sendMessage({ type: "OVERRIDE_MESSAGE", data: { id } });
   },
   sendTelemetry(ping) {
-    const payload = __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].ASRouterUserEvent(ping);
+    const payload = __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].ASRouterUserEvent(ping);
     global.sendAsyncMessage(__WEBPACK_IMPORTED_MODULE_1_content_src_lib_init_store__["a" /* OUTGOING_MESSAGE_NAME */], payload);
   }
 };
 /* harmony export (immutable) */ __webpack_exports__["a"] = ASRouterUtils;
 
 
 // Note: nextProps/prevProps refer to props passed to <ImpressionsWrapper />, not <ASRouterUISurface />
 function shouldSendImpressionOnUpdate(nextProps, prevProps) {
   return nextProps.message.id && (!prevProps.message || prevProps.message.id !== nextProps.message.id);
 }
 
-class ASRouterUISurface extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
+class ASRouterUISurface extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onMessageFromParent = this.onMessageFromParent.bind(this);
     this.sendImpression = this.sendImpression.bind(this);
     this.sendUserActionTelemetry = this.sendUserActionTelemetry.bind(this);
-    this.state = { message: {} };
+    this.state = { message: {}, bundle: {} };
   }
 
   sendUserActionTelemetry(extraProps = {}) {
-    const { message } = this.state;
-    const eventType = `${message.provider}_user_event`;
+    const { message, bundle } = this.state;
+    if (!message && !extraProps.message_id) {
+      throw new Error(`You must provide a message_id for bundled messages`);
+    }
+    const eventType = `${message.provider || bundle.provider}_user_event`;
 
     ASRouterUtils.sendTelemetry(Object.assign({
-      message_id: message.id,
+      message_id: message.id || extraProps.message_id,
       source: this.props.id,
       action: eventType
     }, extraProps));
   }
 
   sendImpression() {
     this.sendUserActionTelemetry({ event: "IMPRESSION" });
   }
 
   onBlockById(id) {
     return () => ASRouterUtils.blockById(id);
   }
 
+  clearBundle(bundle) {
+    return () => ASRouterUtils.blockBundle(bundle);
+  }
+
   onMessageFromParent({ data: action }) {
     switch (action.type) {
       case "SET_MESSAGE":
         this.setState({ message: action.data });
         break;
+      case "SET_BUNDLED_MESSAGES":
+        this.setState({ bundle: action.data });
+        break;
       case "CLEAR_MESSAGE":
-        this.setState({ message: {} });
+        this.setState({ message: {}, bundle: {} });
         break;
     }
   }
 
   componentWillMount() {
     ASRouterUtils.addListener(this.onMessageFromParent);
     ASRouterUtils.sendMessage({ type: "CONNECT_UI_REQUEST" });
   }
 
   componentWillUnmount() {
     ASRouterUtils.removeListener(this.onMessageFromParent);
   }
 
-  render() {
-    const { message } = this.state;
-    if (!message.id) {
-      return null;
-    }
-    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+  renderSnippets() {
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
       __WEBPACK_IMPORTED_MODULE_2__components_ImpressionsWrapper_ImpressionsWrapper__["a" /* ImpressionsWrapper */],
       {
-        message: message,
+        message: this.state.message,
         sendImpression: this.sendImpression,
         shouldSendImpressionOnUpdate: shouldSendImpressionOnUpdate
         // This helps with testing
         , document: this.props.document },
-      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_5__templates_SimpleSnippet_SimpleSnippet__["a" /* SimpleSnippet */], _extends({}, message, {
-        UISurface: this.props.id,
+      __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__templates_SimpleSnippet_SimpleSnippet__["a" /* SimpleSnippet */], _extends({}, this.state.message, {
+        UISurface: "NEWTAB_FOOTER_BAR",
         getNextMessage: ASRouterUtils.getNextMessage,
-        onBlock: this.onBlockById(message.id),
+        onBlock: this.onBlockById(this.state.message.id),
         sendUserActionTelemetry: this.sendUserActionTelemetry }))
     );
   }
+
+  renderOnboarding() {
+    return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__templates_OnboardingMessage_OnboardingMessage__["a" /* OnboardingMessage */], _extends({}, this.state.bundle, {
+      UISurface: "NEWTAB_OVERLAY",
+      onAction: ASRouterUtils.executeAction,
+      onDoneButton: this.clearBundle(this.state.bundle.bundle),
+      getNextMessage: ASRouterUtils.getNextMessage,
+      sendUserActionTelemetry: this.sendUserActionTelemetry }));
+  }
+
+  render() {
+    const { message, bundle } = this.state;
+    if (!message.id && !bundle.template) {
+      return null;
+    }
+    if (bundle.template === "onboarding") {
+      return this.renderOnboarding();
+    }
+    return this.renderSnippets();
+  }
 }
 /* unused harmony export ASRouterUISurface */
 
 
 ASRouterUISurface.defaultProps = { document: global.document };
 
 function initASRouter() {
-  __WEBPACK_IMPORTED_MODULE_4_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(ASRouterUISurface, { id: "NEWTAB_FOOTER_BAR" }), document.getElementById("snippets-container"));
+  __WEBPACK_IMPORTED_MODULE_5_react_dom___default.a.render(__WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(ASRouterUISurface, null), document.getElementById("snippets-container"));
 }
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
 /* 8 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
@@ -1028,17 +1077,17 @@ const MERGE_STORE_ACTION = "NEW_TAB_INIT
 /* unused harmony export MERGE_STORE_ACTION */
 
 const OUTGOING_MESSAGE_NAME = "ActivityStream:ContentToMain";
 /* harmony export (immutable) */ __webpack_exports__["a"] = OUTGOING_MESSAGE_NAME;
 
 const INCOMING_MESSAGE_NAME = "ActivityStream:MainToContent";
 /* unused harmony export INCOMING_MESSAGE_NAME */
 
-const EARLY_QUEUED_ACTIONS = [__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA, __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].PAGE_PRERENDERED];
+const EARLY_QUEUED_ACTIONS = [__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SAVE_SESSION_PERF_DATA, __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].PAGE_PRERENDERED];
 /* unused harmony export EARLY_QUEUED_ACTIONS */
 
 
 /**
  * A higher-order function which returns a reducer that, on MERGE_STORE action,
  * will return the action.data object merged into the previous state.
  *
  * For all other actions, it merely calls mainReducer.
@@ -1063,48 +1112,48 @@ function mergeStateReducer(mainReducer) 
   };
 }
 
 /**
  * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary
  */
 const messageMiddleware = store => next => action => {
   const skipLocal = action.meta && action.meta.skipLocal;
-  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToMain(action)) {
+  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["d" /* actionUtils */].isSendToMain(action)) {
     sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);
   }
   if (!skipLocal) {
     next(action);
   }
 };
 
 const rehydrationMiddleware = store => next => action => {
   if (store._didRehydrate) {
     return next(action);
   }
 
   const isMergeStoreAction = action.type === MERGE_STORE_ACTION;
-  const isRehydrationRequest = action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST;
+  const isRehydrationRequest = action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].NEW_TAB_STATE_REQUEST;
 
   if (isRehydrationRequest) {
     store._didRequestInitialState = true;
     return next(action);
   }
 
   if (isMergeStoreAction) {
     store._didRehydrate = true;
     return next(action);
   }
 
   // If init happened after our request was made, we need to re-request
-  if (store._didRequestInitialState && action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].INIT) {
-    return next(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
-  }
-
-  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isBroadcastToContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToOneContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isSendToPreloaded(action)) {
+  if (store._didRequestInitialState && action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].INIT) {
+    return next(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
+  }
+
+  if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["d" /* actionUtils */].isBroadcastToContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["d" /* actionUtils */].isSendToOneContent(action) || __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["d" /* actionUtils */].isSendToPreloaded(action)) {
     // Note that actions received before didRehydrate will not be dispatched
     // because this could negatively affect preloading and the the state
     // will be replaced by rehydration anyway.
     return null;
   }
 
   return next(action);
 };
@@ -1116,17 +1165,17 @@ const rehydrationMiddleware = store => n
  * the first action from main. This is useful for those actions for main which
  * require higher reliability, i.e. the action will not be lost in the case
  * that it gets sent before the main is ready to receive it. Conversely, any
  * actions allowed early are accepted to be ignorable or re-sendable.
  */
 const queueEarlyMessageMiddleware = store => next => action => {
   if (store._receivedFromMain) {
     next(action);
-  } else if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionUtils */].isFromMain(action)) {
+  } else if (__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["d" /* actionUtils */].isFromMain(action)) {
     next(action);
     store._receivedFromMain = true;
     // Sending out all the early actions as main is ready now
     if (store._earlyActionQueue) {
       store._earlyActionQueue.forEach(next);
       store._earlyActionQueue = [];
     }
   } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {
@@ -1268,18 +1317,18 @@ ErrorBoundary.defaultProps = { FallbackC
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 
 
 const _OpenInPrivateWindow = site => ({
   id: "menu_action_open_private_window",
   icon: "new-window-private",
-  action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-    type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_PRIVATE_WINDOW,
+  action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+    type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_PRIVATE_WINDOW,
     data: { url: site.url, referrer: site.referrer }
   }),
   userEvent: "OPEN_PRIVATE_WINDOW"
 });
 
 const GetPlatformString = platform => {
   switch (platform) {
     case "win":
@@ -1301,183 +1350,183 @@ const GetPlatformString = platform => {
  * the index of the site.
  */
 const LinkMenuOptions = {
   Separator: () => ({ type: "separator" }),
   EmptyItem: () => ({ type: "empty" }),
   RemoveBookmark: site => ({
     id: "menu_action_remove_bookmark",
     icon: "bookmark-added",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DELETE_BOOKMARK_BY_ID,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DELETE_BOOKMARK_BY_ID,
       data: site.bookmarkGuid
     }),
     userEvent: "BOOKMARK_DELETE"
   }),
   AddBookmark: site => ({
     id: "menu_action_bookmark",
     icon: "bookmark-hollow",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].BOOKMARK_URL,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].BOOKMARK_URL,
       data: { url: site.url, title: site.title, type: site.type }
     }),
     userEvent: "BOOKMARK_ADD"
   }),
   OpenInNewWindow: site => ({
     id: "menu_action_open_new_window",
     icon: "new-window",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_NEW_WINDOW,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_NEW_WINDOW,
       data: {
         referrer: site.referrer,
         typedBonus: site.typedBonus,
         url: site.url
       }
     }),
     userEvent: "OPEN_NEW_WINDOW"
   }),
   BlockUrl: (site, index, eventSource) => ({
     id: "menu_action_dismiss",
     icon: "dismiss",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].BLOCK_URL,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].BLOCK_URL,
       data: { url: site.url, pocket_id: site.pocket_id }
     }),
-    impression: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].ImpressionStats({
+    impression: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].ImpressionStats({
       source: eventSource,
       block: 0,
       tiles: [{ id: site.guid, pos: index }]
     }),
     userEvent: "BLOCK"
   }),
 
   // This is an option for web extentions which will result in remove items from
   // memory and notify the web extenion, rather than using the built-in block list.
   WebExtDismiss: (site, index, eventSource) => ({
     id: "menu_action_webext_dismiss",
     string_id: "menu_action_dismiss",
     icon: "dismiss",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].WebExtEvent(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].WEBEXT_DISMISS, {
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].WebExtEvent(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].WEBEXT_DISMISS, {
       source: eventSource,
       url: site.url,
       action_position: index
     })
   }),
   DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({
     id: "menu_action_delete",
     icon: "delete",
     action: {
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DIALOG_OPEN,
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DIALOG_OPEN,
       data: {
-        onConfirm: [__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DELETE_HISTORY_URL, data: { url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid } }), __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent(Object.assign({ event: "DELETE", source: eventSource, action_position: index }, siteInfo))],
+        onConfirm: [__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DELETE_HISTORY_URL, data: { url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid } }), __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent(Object.assign({ event: "DELETE", source: eventSource, action_position: index }, siteInfo))],
         eventSource,
         body_string_id: ["confirm_history_delete_p1", "confirm_history_delete_notice_p2"],
         confirm_button_string_id: "menu_action_delete",
         cancel_button_string_id: "topsites_form_cancel_button",
         icon: "modal-delete"
       }
     },
     userEvent: "DIALOG_OPEN"
   }),
   ShowFile: (site, index, eventSource, isEnabled, siteInfo, platform) => ({
     id: GetPlatformString(platform),
     icon: "search",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SHOW_DOWNLOAD_FILE,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SHOW_DOWNLOAD_FILE,
       data: { url: site.url }
     })
   }),
   OpenFile: site => ({
     id: "menu_action_open_file",
     icon: "open-file",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_DOWNLOAD_FILE,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_DOWNLOAD_FILE,
       data: { url: site.url }
     })
   }),
   CopyDownloadLink: site => ({
     id: "menu_action_copy_download_link",
     icon: "copy",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].COPY_DOWNLOAD_LINK,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].COPY_DOWNLOAD_LINK,
       data: { url: site.url }
     })
   }),
   GoToDownloadPage: site => ({
     id: "menu_action_go_to_download_page",
     icon: "download",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_LINK,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_LINK,
       data: { url: site.referrer }
     }),
     disabled: !site.referrer
   }),
   RemoveDownload: site => ({
     id: "menu_action_remove_download",
     icon: "delete",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].REMOVE_DOWNLOAD_FILE,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].REMOVE_DOWNLOAD_FILE,
       data: { url: site.url }
     })
   }),
   PinTopSite: (site, index) => ({
     id: "menu_action_pin",
     icon: "pin",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_PIN,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_PIN,
       data: { site: { url: site.url }, index }
     }),
     userEvent: "PIN"
   }),
   UnpinTopSite: site => ({
     id: "menu_action_unpin",
     icon: "unpin",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_UNPIN,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_UNPIN,
       data: { site: { url: site.url } }
     }),
     userEvent: "UNPIN"
   }),
   SaveToPocket: (site, index, eventSource) => ({
     id: "menu_action_save_to_pocket",
     icon: "pocket",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_TO_POCKET,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SAVE_TO_POCKET,
       data: { site: { url: site.url, title: site.title } }
     }),
-    impression: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].ImpressionStats({
+    impression: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].ImpressionStats({
       source: eventSource,
       pocket: 0,
       tiles: [{ id: site.guid, pos: index }]
     }),
     userEvent: "SAVE_TO_POCKET"
   }),
   DeleteFromPocket: site => ({
     id: "menu_action_delete_pocket",
     icon: "delete",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DELETE_FROM_POCKET,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DELETE_FROM_POCKET,
       data: { pocket_id: site.pocket_id }
     }),
     userEvent: "DELETE_FROM_POCKET"
   }),
   ArchiveFromPocket: site => ({
     id: "menu_action_archive_pocket",
     icon: "check",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].ARCHIVE_FROM_POCKET,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].ARCHIVE_FROM_POCKET,
       data: { pocket_id: site.pocket_id }
     }),
     userEvent: "ARCHIVE_FROM_POCKET"
   }),
   EditTopSite: (site, index) => ({
     id: "edit_topsites_button_text",
     icon: "edit",
     action: {
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_EDIT,
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_EDIT,
       data: { index }
     }
   }),
   CheckBookmark: site => site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site),
   CheckPinTopSite: (site, index) => site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index),
   CheckSavedToPocket: (site, index) => site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index),
   CheckBookmarkOrArchive: site => site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site),
   OpenInPrivateWindow: (site, index, eventSource, isEnabled) => isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem()
@@ -1523,17 +1572,17 @@ class _LinkMenu extends __WEBPACK_IMPORT
         option.onClick = () => {
           props.dispatch(action);
           if (userEvent) {
             const userEventData = Object.assign({
               event: userEvent,
               source,
               action_position: index
             }, siteInfo);
-            props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent(userEventData));
+            props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent(userEventData));
           }
           if (impression && props.shouldSendImpressionStats) {
             props.dispatch(impression);
           }
         };
       }
       return option;
     });
@@ -1666,17 +1715,17 @@ class ContextMenuItem extends __WEBPACK_
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(10);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_SectionMenu_SectionMenu__ = __webpack_require__(33);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_SectionMenu_SectionMenu__ = __webpack_require__(34);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_lib_section_menu_options__ = __webpack_require__(15);
 
 
 
 
 
 
 
@@ -1693,18 +1742,18 @@ function getFormattedMessage(message) {
 
 class Disclaimer extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onAcknowledge = this.onAcknowledge.bind(this);
   }
 
   onAcknowledge() {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["a" /* actionCreators */].SetPref(this.props.disclaimerPref, false));
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: "DISCLAIMER_ACKED", source: this.props.eventSource }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["b" /* actionCreators */].SetPref(this.props.disclaimerPref, false));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: "DISCLAIMER_ACKED", source: this.props.eventSource }));
   }
 
   render() {
     const { disclaimer } = this.props;
     return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "div",
       { className: "section-disclaimer" },
       __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
@@ -1788,17 +1837,17 @@ class _CollapsibleSection extends __WEBP
 
     // Get the current height of the body so max-height transitions can work
     this.setState({
       isAnimating: true,
       maxHeight: `${this.sectionBody.scrollHeight}px`
     });
     const { action, userEvent } = __WEBPACK_IMPORTED_MODULE_5_content_src_lib_section_menu_options__["a" /* SectionMenuOptions */].CheckCollapsed(this.props);
     this.props.dispatch(action);
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["b" /* actionCreators */].UserEvent({
       event: userEvent,
       source: this.props.source
     }));
   }
 
   onTransitionEnd(event) {
     // Only update the animating state for our own transition (not a child's)
     if (event.target === event.currentTarget) {
@@ -1829,24 +1878,26 @@ class _CollapsibleSection extends __WEBP
 
   onMenuUpdate(showContextMenu) {
     this.setState({ showContextMenu });
   }
 
   render() {
     const isCollapsible = this.props.collapsed !== undefined;
     const { enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu } = this.state;
-    const { id, eventSource, collapsed, disclaimer, title, extraMenuOptions, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast } = this.props;
+    const { id, eventSource, collapsed, disclaimer, title, extraMenuOptions, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast, isWebExtension } = this.props;
     const disclaimerPref = `section.${id}.showDisclaimer`;
     const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];
     const active = menuButtonHover || showContextMenu;
-
     return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "section",
-      { className: `collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${collapsed ? " collapsed" : ""}${active ? " active" : ""}` },
+      {
+        className: `collapsible-section ${this.props.className}${enableAnimation ? " animation-enabled" : ""}${collapsed ? " collapsed" : ""}${active ? " active" : ""}`
+        // Note: data-section-id is used for web extension api tests in mozilla central
+        , "data-section-id": id },
       __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "div",
         { className: "section-top-bar" },
         __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "h3",
           { className: "section-title" },
           __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
             "span",
@@ -1877,17 +1928,18 @@ class _CollapsibleSection extends __WEBP
             extraOptions: extraMenuOptions,
             eventSource: eventSource,
             showPrefName: showPrefName,
             privacyNoticeURL: privacyNoticeURL,
             collapsed: collapsed,
             onUpdate: this.onMenuUpdate,
             isFirst: isFirst,
             isLast: isLast,
-            dispatch: dispatch })
+            dispatch: dispatch,
+            isWebExtension: isWebExtension })
         )
       ),
       __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         __WEBPACK_IMPORTED_MODULE_2_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
         { className: "section-body-fallback" },
         __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
           "div",
           {
@@ -1931,68 +1983,73 @@ const CollapsibleSection = Object(__WEBP
  * List of functions that return items that can be included as menu options in a
  * SectionMenu. All functions take the section as the only parameter.
  */
 const SectionMenuOptions = {
   Separator: () => ({ type: "separator" }),
   MoveUp: section => ({
     id: "section_menu_action_move_up",
     icon: "arrowhead-up",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SECTION_MOVE,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SECTION_MOVE,
       data: { id: section.id, direction: -1 }
     }),
     userEvent: "MENU_MOVE_UP",
     disabled: !!section.isFirst
   }),
   MoveDown: section => ({
     id: "section_menu_action_move_down",
     icon: "arrowhead-down",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SECTION_MOVE,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SECTION_MOVE,
       data: { id: section.id, direction: +1 }
     }),
     userEvent: "MENU_MOVE_DOWN",
     disabled: !!section.isLast
   }),
   RemoveSection: section => ({
     id: "section_menu_action_remove_section",
     icon: "dismiss",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].SetPref(section.showPrefName, false),
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].SetPref(section.showPrefName, false),
     userEvent: "MENU_REMOVE"
   }),
   CollapseSection: section => ({
     id: "section_menu_action_collapse_section",
     icon: "minimize",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].UPDATE_SECTION_PREFS, data: { id: section.id, value: { collapsed: true } } }),
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].UPDATE_SECTION_PREFS, data: { id: section.id, value: { collapsed: true } } }),
     userEvent: "MENU_COLLAPSE"
   }),
   ExpandSection: section => ({
     id: "section_menu_action_expand_section",
     icon: "maximize",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].UPDATE_SECTION_PREFS, data: { id: section.id, value: { collapsed: false } } }),
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].UPDATE_SECTION_PREFS, data: { id: section.id, value: { collapsed: false } } }),
     userEvent: "MENU_EXPAND"
   }),
   ManageSection: section => ({
     id: "section_menu_action_manage_section",
     icon: "settings",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SETTINGS_OPEN }),
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SETTINGS_OPEN }),
     userEvent: "MENU_MANAGE"
   }),
+  ManageWebExtension: section => ({
+    id: "section_menu_action_manage_webext",
+    icon: "settings",
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_WEBEXT_SETTINGS, data: section.id })
+  }),
   AddTopSite: section => ({
     id: "section_menu_action_add_topsite",
     icon: "add",
-    action: { type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: -1 } },
+    action: { type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_EDIT, data: { index: -1 } },
     userEvent: "MENU_ADD_TOPSITE"
   }),
   PrivacyNotice: section => ({
     id: "section_menu_action_privacy_notice",
     icon: "info",
-    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_LINK,
+    action: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_LINK,
       data: { url: section.privacyNoticeURL }
     }),
     userEvent: "MENU_PRIVACY_NOTICE"
   }),
   CheckCollapsed: section => section.collapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section)
 };
 /* harmony export (immutable) */ __webpack_exports__["a"] = SectionMenuOptions;
 
@@ -2119,18 +2176,18 @@ class ComponentPerfTimer extends __WEBPA
     // highlights_data_ready_ts, topsites_data_ready_ts.
     const dataReadyKey = `${this.props.id}_data_ready_ts`;
     this.perfSvc.mark(dataReadyKey);
 
     try {
       const firstRenderKey = `${this.props.id}_first_render_ts`;
       // value has to be Int32.
       const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) - this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);
-      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA,
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SAVE_SESSION_PERF_DATA,
         // highlights_data_late_by_ms, topsites_data_late_by_ms.
         data: { [`${this.props.id}_data_late_by_ms`]: value }
       }));
     } catch (ex) {
       // If this failed, it's likely because the `privacy.resistFingerprinting`
       // pref is true.
     }
   }
@@ -2144,18 +2201,18 @@ class ComponentPerfTimer extends __WEBPA
     // topsites_first_painted_ts.
     const key = `${this.props.id}_first_painted_ts`;
     this.perfSvc.mark(key);
 
     try {
       const data = {};
       data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);
 
-      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA,
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SAVE_SESSION_PERF_DATA,
         data
       }));
     } catch (ex) {
       // If this failed, it's likely because the `privacy.resistFingerprinting`
       // pref is true.  We should at least not blow up, and should continue
       // to set this._timestampHandled to avoid going through this again.
     }
   }
@@ -2485,32 +2542,32 @@ class TopSite extends __WEBPACK_IMPORTED
     // Filter out "not_pinned" type for being the default
     if (this.props.link.isPinned) {
       value.card_type = "pinned";
     }
     return { value };
   }
 
   userEvent(event) {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent(Object.assign({
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent(Object.assign({
       event,
       source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
       action_position: this.props.index
     }, this._getTelemetryInfo())));
   }
 
   onLinkClick(event) {
     this.userEvent("CLICK");
 
     // Specially handle a top site link click for "typed" frecency bonus as
     // specified as a property on the link.
     event.preventDefault();
     const { altKey, button, ctrlKey, metaKey, shiftKey } = event;
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].OPEN_LINK,
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].OPEN_LINK,
       data: Object.assign(this.props.link, { event: { altKey, button, ctrlKey, metaKey, shiftKey } })
     }));
   }
 
   onMenuButtonClick(event) {
     event.preventDefault();
     this.props.onActivate(this.props.index);
     this.setState({ showContextMenu: true });
@@ -2561,17 +2618,17 @@ TopSite.defaultProps = {
 
 class TopSitePlaceholder extends __WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onEditButtonClick = this.onEditButtonClick.bind(this);
   }
 
   onEditButtonClick() {
-    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_EDIT, data: { index: this.props.index } });
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_EDIT, data: { index: this.props.index } });
   }
 
   render() {
     return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(
       TopSiteLink,
       _extends({}, this.props, { className: `placeholder ${this.props.className || ""}`, isDraggable: false }),
       __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement("button", { className: "context-menu-button edit-button icon",
         title: this.props.intl.formatMessage({ id: "edit_topsites_edit_button" }),
@@ -2607,17 +2664,17 @@ class _TopSiteList extends __WEBPACK_IMP
       if (prevTopSites && prevTopSites[this.state.draggedIndex] && prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url && (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {
         // We got the new order from the redux store via props. We can clear state now.
         this.setState(_TopSiteList.DEFAULT_STATE);
       }
     }
   }
 
   userEvent(event, index) {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({
       event,
       source: __WEBPACK_IMPORTED_MODULE_2__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
       action_position: index
     }));
   }
 
   onDragEvent(event, index, link, title) {
     switch (event.type) {
@@ -2642,18 +2699,18 @@ class _TopSiteList extends __WEBPACK_IMP
           this.setState({ topSitesPreview: null });
         } else {
           this.setState({ topSitesPreview: this._makeTopSitesPreview(index) });
         }
         break;
       case "drop":
         if (index !== this.state.draggedIndex) {
           this.dropped = true;
-          this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-            type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_INSERT,
+          this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+            type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_INSERT,
             data: {
               site: {
                 url: this.state.draggedSite.url,
                 label: this.state.draggedTitle,
                 customScreenshotURL: this.state.draggedSite.customScreenshotURL
               },
               index,
               draggedFromIndex: this.state.draggedIndex
@@ -2769,18 +2826,18 @@ const TopSiteList = Object(__WEBPACK_IMP
 /***/ }),
 /* 19 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__ = __webpack_require__(20);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(24);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(37);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__ = __webpack_require__(25);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__ = __webpack_require__(39);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__ = __webpack_require__(8);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom__ = __webpack_require__(9);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_dom__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__ = __webpack_require__(6);
@@ -2797,23 +2854,24 @@ Object.defineProperty(__webpack_exports_
 const store = Object(__WEBPACK_IMPORTED_MODULE_4_content_src_lib_init_store__["b" /* initStore */])(__WEBPACK_IMPORTED_MODULE_8_common_Reducers_jsm__["b" /* reducers */], global.gActivityStreamPrerenderedState);
 
 new __WEBPACK_IMPORTED_MODULE_3_content_src_lib_detect_user_session_start__["a" /* DetectUserSessionStart */](store).sendEventOrAddListener();
 
 // If we are starting in a prerendered state, we must wait until the first render
 // to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,
 // we can request it immedately.
 if (!global.gActivityStreamPrerenderedState) {
-  store.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
+  store.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
 }
 
 __WEBPACK_IMPORTED_MODULE_7_react_dom___default.a.hydrate(__WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
   __WEBPACK_IMPORTED_MODULE_5_react_redux__["Provider"],
   { store: store },
   __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_content_src_components_Base_Base__["a" /* Base */], {
+    isFirstrun: global.document.location.href === "about:welcome",
     isPrerendered: !!global.gActivityStreamPrerenderedState,
     locale: global.document.documentElement.lang,
     strings: global.gActivityStreamStrings })
 ), document.getElementById("root"));
 
 Object(__WEBPACK_IMPORTED_MODULE_1_content_src_lib_snippets__["a" /* addSnippetsSubscriber */])(store);
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
@@ -2860,17 +2918,17 @@ class SnippetsMap extends Map {
 
   delete(key) {
     super.delete(key);
     return this._dbTransaction(db => db.delete(key));
   }
 
   clear() {
     super.clear();
-    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPETS_BLOCKLIST_CLEARED }));
+    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SNIPPETS_BLOCKLIST_CLEARED }));
     return this._dbTransaction(db => db.clear());
   }
 
   get blockList() {
     return this.get("blockList") || [];
   }
 
   /**
@@ -2882,34 +2940,34 @@ class SnippetsMap extends Map {
    */
   async blockSnippetById(id) {
     if (!id) {
       return;
     }
     const { blockList } = this;
     if (!blockList.includes(id)) {
       blockList.push(id);
-      this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPETS_BLOCKLIST_UPDATED, data: id }));
+      this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SNIPPETS_BLOCKLIST_UPDATED, data: id }));
       await this.set("blockList", blockList);
     }
   }
 
   disableOnboarding() {
-    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DISABLE_ONBOARDING }));
+    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DISABLE_ONBOARDING }));
   }
 
   showFirefoxAccounts() {
-    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SHOW_FIREFOX_ACCOUNTS }));
+    this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SHOW_FIREFOX_ACCOUNTS }));
   }
 
   getTotalBookmarksCount() {
     return new Promise(resolve => {
-      this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOTAL_BOOKMARKS_REQUEST }));
+      this._dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOTAL_BOOKMARKS_REQUEST }));
       global.addMessageListener("ActivityStream:MainToContent", function onMessage({ data: action }) {
-        if (action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOTAL_BOOKMARKS_RESPONSE) {
+        if (action.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOTAL_BOOKMARKS_RESPONSE) {
           resolve(action.data);
           global.removeMessageListener("ActivityStream:MainToContent", onMessage);
         }
       });
     });
   }
 
   /**
@@ -3102,17 +3160,17 @@ class SnippetsProvider {
     for (const scriptEl of snippetsEl.getElementsByTagName("script")) {
       const relocatedScript = document.createElement("script");
       relocatedScript.text = scriptEl.text;
       scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);
     }
   }
 
   _onAction(msg) {
-    if (msg.data.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SNIPPET_BLOCKED) {
+    if (msg.data.type === __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SNIPPET_BLOCKED) {
       if (!this.snippetsMap.blockList.includes(msg.data.data)) {
         this.snippetsMap.set("blockList", this.snippetsMap.blockList.concat(msg.data.data));
         document.getElementById("snippets-container").style.display = "none";
       }
     }
   }
 
   /**
@@ -3200,17 +3258,17 @@ function addSnippetsSubscriber(store) {
     const state = store.getState();
     // state.Prefs.values["feeds.snippets"]:  Should snippets be shown?
     // state.Snippets.initialized             Is the snippets data initialized?
     // snippets.initialized:                  Is SnippetsProvider currently initialised?
     if (state.Prefs.values["feeds.snippets"] &&
     // If the message center experiment is enabled, don't show snippets
     !state.Prefs.values.asrouterExperimentEnabled && !state.Prefs.values.disableSnippets && state.Snippets.initialized && !snippets.initialized &&
     // Don't call init multiple times
-    !initializing) {
+    !initializing && location.href !== "about:welcome") {
       initializing = true;
       await snippets.init({ appData: state.Snippets });
       initializing = false;
     } else if ((state.Prefs.values["feeds.snippets"] === false || state.Prefs.values.disableSnippets === true) && snippets.initialized) {
       snippets.uninit();
     }
 
     if (state.Prefs.values.asrouterExperimentEnabled) {
@@ -3309,16 +3367,151 @@ ImpressionsWrapper.defaultProps = {
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: external "React"
 var external__React_ = __webpack_require__(0);
 var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
 
+// CONCATENATED MODULE: ./system-addon/content-src/asrouter/components/ModalOverlay/ModalOverlay.jsx
+
+
+class ModalOverlay_ModalOverlay extends external__React__default.a.PureComponent {
+  componentWillMount() {
+    this.setState({ active: true });
+    document.body.classList.add("modal-open");
+  }
+
+  componentWillUnmount() {
+    document.body.classList.remove("modal-open");
+    this.setState({ active: false });
+  }
+
+  render() {
+    const { active } = this.state;
+    const { title, button_label } = this.props;
+    return external__React__default.a.createElement(
+      "div",
+      null,
+      external__React__default.a.createElement("div", { className: `modalOverlayOuter ${active ? "active" : ""}` }),
+      external__React__default.a.createElement(
+        "div",
+        { className: `modalOverlayInner ${active ? "active" : ""}` },
+        external__React__default.a.createElement(
+          "h2",
+          null,
+          " ",
+          title,
+          " "
+        ),
+        this.props.children,
+        external__React__default.a.createElement(
+          "div",
+          { className: "footer" },
+          external__React__default.a.createElement(
+            "button",
+            { onClick: this.props.onDoneButton, className: "button primary modalButton" },
+            " ",
+            button_label,
+            " "
+          )
+        )
+      )
+    );
+  }
+}
+// CONCATENATED MODULE: ./system-addon/content-src/asrouter/templates/OnboardingMessage/OnboardingMessage.jsx
+var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
+
+
+
+
+class OnboardingMessage_OnboardingCard extends external__React__default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onClick = this.onClick.bind(this);
+  }
+
+  onClick() {
+    const { props } = this;
+    props.sendUserActionTelemetry({ event: "TRY_NOW", message_id: props.id });
+    props.onAction(props.content);
+  }
+
+  render() {
+    const { content } = this.props;
+    return external__React__default.a.createElement(
+      "div",
+      { className: "onboardingMessage" },
+      external__React__default.a.createElement("div", { className: `onboardingMessageImage ${content.icon}` }),
+      external__React__default.a.createElement(
+        "div",
+        { className: "onboardingContent" },
+        external__React__default.a.createElement(
+          "span",
+          null,
+          external__React__default.a.createElement(
+            "h3",
+            null,
+            " ",
+            content.title,
+            " "
+          ),
+          external__React__default.a.createElement(
+            "p",
+            null,
+            " ",
+            content.text,
+            " "
+          )
+        ),
+        external__React__default.a.createElement(
+          "span",
+          null,
+          external__React__default.a.createElement(
+            "button",
+            { className: "button onboardingButton", onClick: this.onClick },
+            " ",
+            content.button_label,
+            " "
+          )
+        )
+      )
+    );
+  }
+}
+
+class OnboardingMessage_OnboardingMessage extends external__React__default.a.PureComponent {
+  render() {
+    const { props } = this;
+    return external__React__default.a.createElement(
+      ModalOverlay_ModalOverlay,
+      _extends({}, props, { button_label: "Start Browsing", title: "Welcome to Firefox" }),
+      external__React__default.a.createElement(
+        "div",
+        { className: "onboardingMessageContainer" },
+        props.bundle.map(message => external__React__default.a.createElement(OnboardingMessage_OnboardingCard, _extends({ key: message.id, sendUserActionTelemetry: props.sendUserActionTelemetry, onAction: props.onAction }, message)))
+      )
+    );
+  }
+}
+/* harmony export (immutable) */ __webpack_exports__["a"] = OnboardingMessage_OnboardingMessage;
+
+
+/***/ }),
+/* 24 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+
+// EXTERNAL MODULE: external "React"
+var external__React_ = __webpack_require__(0);
+var external__React__default = /*#__PURE__*/__webpack_require__.n(external__React_);
+
 // CONCATENATED MODULE: ./system-addon/content-src/asrouter/template-utils.js
 function safeURI(url) {
   if (!url) {
     return "";
   }
   const { protocol } = new URL(url);
   const isAllowed = ["http:", "https:", "data:", "resource:", "chrome:"].includes(protocol);
   if (!isAllowed) {
@@ -3329,17 +3522,17 @@ function safeURI(url) {
 // CONCATENATED MODULE: ./system-addon/content-src/asrouter/components/Button/Button.jsx
 
 
 
 const Button = props => external__React__default.a.createElement(
   "a",
   { href: safeURI(props.url),
     onClick: props.onClick,
-    className: "ASRouterButton" },
+    className: props.className || "ASRouterButton" },
   props.children
 );
 // CONCATENATED MODULE: ./system-addon/content-src/asrouter/components/SnippetBase/SnippetBase.jsx
 
 
 class SnippetBase_SnippetBase extends external__React__default.a.PureComponent {
   constructor(props) {
     super(props);
@@ -3383,71 +3576,90 @@ class SimpleSnippet_SimpleSnippet extend
     super(props);
     this.onButtonClick = this.onButtonClick.bind(this);
   }
 
   onButtonClick() {
     this.props.sendUserActionTelemetry({ event: "CLICK_BUTTON" });
   }
 
+  renderTitle() {
+    const { title } = this.props.content;
+    return title ? external__React__default.a.createElement(
+      "h3",
+      { className: "title" },
+      title
+    ) : null;
+  }
+
+  renderButton(className) {
+    const { props } = this;
+    return external__React__default.a.createElement(
+      Button,
+      {
+        className: className,
+        onClick: this.onButtonClick,
+        url: props.content.button_url },
+      props.content.button_label
+    );
+  }
+
   render() {
     const { props } = this;
+    const hasLink = props.content.button_url && props.content.button_type === "anchor";
+    const hasButton = props.content.button_url && !props.content.button_type;
     return external__React__default.a.createElement(
       SnippetBase_SnippetBase,
       _extends({}, props, { className: "SimpleSnippet" }),
       external__React__default.a.createElement("img", { src: safeURI(props.content.icon) || DEFAULT_ICON_PATH, className: "icon" }),
       external__React__default.a.createElement(
         "div",
         null,
-        props.content.title ? external__React__default.a.createElement(
-          "h3",
-          { className: "title" },
-          props.content.title
-        ) : null,
+        this.renderTitle(),
         " ",
         external__React__default.a.createElement(
           "p",
           { className: "body" },
           props.content.text
-        )
+        ),
+        " ",
+        hasLink ? this.renderButton("ASRouterAnchor") : null
       ),
-      props.content.button_url ? external__React__default.a.createElement(
+      hasButton ? external__React__default.a.createElement(
         "div",
         null,
-        external__React__default.a.createElement(
-          Button,
-          { onClick: this.onButtonClick, url: props.content.button_url },
-          props.content.button_label
-        )
+        this.renderButton()
       ) : null
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = SimpleSnippet_SimpleSnippet;
 
 
 /***/ }),
-/* 24 */
+/* 25 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ASRouterAdmin_ASRouterAdmin__ = __webpack_require__(25);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ConfirmDialog_ConfirmDialog__ = __webpack_require__(26);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_ASRouterAdmin_ASRouterAdmin__ = __webpack_require__(26);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ConfirmDialog_ConfirmDialog__ = __webpack_require__(27);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_content_src_components_ErrorBoundary_ErrorBoundary__ = __webpack_require__(10);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_content_src_components_ManualMigration_ManualMigration__ = __webpack_require__(27);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__ = __webpack_require__(28);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_content_src_components_ManualMigration_ManualMigration__ = __webpack_require__(28);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__ = __webpack_require__(29);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__ = __webpack_require__(29);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__ = __webpack_require__(31);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__ = __webpack_require__(30);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__ = __webpack_require__(32);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_content_src_components_StartupOverlay_StartupOverlay__ = __webpack_require__(38);
+
 
 
 
 
 
 
 
 
@@ -3478,41 +3690,41 @@ class _Base extends __WEBPACK_IMPORTED_M
     addLocaleDataForReactIntl(locale);
   }
 
   componentDidMount() {
     // Request state AFTER the first render to ensure we don't cause the
     // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is
     // dispatched right after the store is ready.
     if (this.props.isPrerendered) {
-      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
-      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].PAGE_PRERENDERED }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].NEW_TAB_STATE_REQUEST }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].PAGE_PRERENDERED }));
     }
   }
 
   componentWillUnmount() {
     this.updateTheme({ className: "" });
   }
 
   componentWillUpdate({ App, Theme }) {
     this.updateTheme(Theme);
     this.sendNewTabRehydrated(App);
   }
 
   updateTheme(Theme) {
-    const bodyClassName = ["activity-stream", Theme.className].filter(v => v).join(" ");
+    const bodyClassName = ["activity-stream", Theme.className, this.props.isFirstrun ? "welcome" : ""].filter(v => v).join(" ");
     global.document.body.className = bodyClassName;
   }
 
   // The NEW_TAB_REHYDRATED event is used to inform feeds that their
   // data has been consumed e.g. for counting the number of tabs that
   // have rendered that data.
   sendNewTabRehydrated(App) {
     if (App && App.initialized && !this.renderNotified) {
-      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].NEW_TAB_REHYDRATED, data: {} }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].NEW_TAB_REHYDRATED, data: {} }));
       this.renderNotified = true;
     }
   }
 
   render() {
     const { props } = this;
     const { App, locale, strings } = props;
     const { initialized } = App;
@@ -3541,84 +3753,90 @@ class _Base extends __WEBPACK_IMPORTED_M
 
 class BaseContent extends __WEBPACK_IMPORTED_MODULE_8_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.openPreferences = this.openPreferences.bind(this);
   }
 
   openPreferences() {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SETTINGS_OPEN }));
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: "OPEN_NEWTAB_PREFS" }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].OnlyToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SETTINGS_OPEN }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: "OPEN_NEWTAB_PREFS" }));
   }
 
   render() {
     const { props } = this;
     const { App } = props;
     const { initialized } = App;
     const prefs = props.Prefs.values;
 
     const shouldBeFixedToTop = __WEBPACK_IMPORTED_MODULE_7_common_PrerenderData_jsm__["a" /* PrerenderData */].arePrefsValid(name => prefs[name]);
 
     const outerClassName = ["outer-wrapper", shouldBeFixedToTop && "fixed-to-top"].filter(v => v).join(" ");
 
     return __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
       "div",
-      { className: outerClassName },
+      null,
       __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
-        "main",
-        null,
-        prefs.showSearch && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
-          "div",
-          { className: "non-collapsible-section" },
-          __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
-            __WEBPACK_IMPORTED_MODULE_5_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
-            null,
-            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__["a" /* Search */], null)
-          )
-        ),
+        "div",
+        { className: outerClassName },
         __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
-          "div",
-          { className: `body-wrapper${initialized ? " on" : ""}` },
-          !prefs.migrationExpired && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
+          "main",
+          null,
+          prefs.showSearch && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
             "div",
             { className: "non-collapsible-section" },
-            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_content_src_components_ManualMigration_ManualMigration__["a" /* ManualMigration */], null)
+            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
+              __WEBPACK_IMPORTED_MODULE_5_content_src_components_ErrorBoundary_ErrorBoundary__["a" /* ErrorBoundary */],
+              null,
+              __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_9_content_src_components_Search_Search__["a" /* Search */], null)
+            )
           ),
-          __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__["a" /* Sections */], null),
-          __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(PrefsButton, { onClick: this.openPreferences })
-        ),
-        __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_content_src_components_ConfirmDialog_ConfirmDialog__["a" /* ConfirmDialog */], null)
-      )
+          __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
+            "div",
+            { className: `body-wrapper${initialized ? " on" : ""}` },
+            !prefs.migrationExpired && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(
+              "div",
+              { className: "non-collapsible-section" },
+              __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6_content_src_components_ManualMigration_ManualMigration__["a" /* ManualMigration */], null)
+            ),
+            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10_content_src_components_Sections_Sections__["a" /* Sections */], null),
+            __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(PrefsButton, { onClick: this.openPreferences })
+          ),
+          __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3_content_src_components_ConfirmDialog_ConfirmDialog__["a" /* ConfirmDialog */], null)
+        )
+      ),
+      this.props.isFirstrun && __WEBPACK_IMPORTED_MODULE_8_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_11_content_src_components_StartupOverlay_StartupOverlay__["a" /* StartupOverlay */], null)
     );
   }
 }
 /* unused harmony export BaseContent */
 
 
 const Base = Object(__WEBPACK_IMPORTED_MODULE_4_react_redux__["connect"])(state => ({ App: state.App, Prefs: state.Prefs, Theme: state.Theme }))(_Base);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Base;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 25 */
+/* 26 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__ = __webpack_require__(7);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
 
 
 
 class ASRouterAdmin extends __WEBPACK_IMPORTED_MODULE_1_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onMessage = this.onMessage.bind(this);
+    this.findOtherBundledMessagesOfSameTemplate = this.findOtherBundledMessagesOfSameTemplate.bind(this);
     this.state = {};
   }
 
   onMessage({ data: action }) {
     if (action.type === "ADMIN_SET_STATE") {
       this.setState(action.data);
     }
   }
@@ -3627,22 +3845,36 @@ class ASRouterAdmin extends __WEBPACK_IM
     __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].sendMessage({ type: "ADMIN_CONNECT_STATE" });
     __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].addListener(this.onMessage);
   }
 
   componentWillUnmount() {
     __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].removeListener(this.onMessage);
   }
 
-  handleBlock(id) {
-    return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].blockById(id);
-  }
-
-  handleUnblock(id) {
-    return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].unblockById(id);
+  findOtherBundledMessagesOfSameTemplate(template) {
+    return this.state.messages.filter(msg => msg.template === template && msg.bundled);
+  }
+
+  handleBlock(msg) {
+    if (msg.bundled) {
+      // If we are blocking a message that belongs to a bundle, block all other messages that are bundled of that same template
+      let bundle = this.findOtherBundledMessagesOfSameTemplate(msg.template);
+      return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].blockBundle(bundle);
+    }
+    return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].blockById(msg.id);
+  }
+
+  handleUnblock(msg) {
+    if (msg.bundled) {
+      // If we are unblocking a message that belongs to a bundle, unblock all other messages that are bundled of that same template
+      let bundle = this.findOtherBundledMessagesOfSameTemplate(msg.template);
+      return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].unblockBundle(bundle);
+    }
+    return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].unblockById(msg.id);
   }
 
   handleOverride(id) {
     return () => __WEBPACK_IMPORTED_MODULE_0__asrouter_asrouter_content__["a" /* ASRouterUtils */].overrideMessage(id);
   }
 
   renderMessageItem(msg) {
     const isCurrent = msg.id === this.state.currentId;
@@ -3668,17 +3900,17 @@ class ASRouterAdmin extends __WEBPACK_IM
           msg.id
         )
       ),
       __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
         "td",
         null,
         __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
           "button",
-          { className: `button ${isBlocked ? "" : " primary"}`, onClick: isBlocked ? this.handleUnblock(msg.id) : this.handleBlock(msg.id) },
+          { className: `button ${isBlocked ? "" : " primary"}`, onClick: isBlocked ? this.handleUnblock(msg) : this.handleBlock(msg) },
           isBlocked ? "Unblock" : "Block"
         ),
         isBlocked ? null : __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(
           "button",
           { className: "button", onClick: this.handleOverride(msg.id) },
           "Show"
         )
       ),
@@ -3766,17 +3998,17 @@ class ASRouterAdmin extends __WEBPACK_IM
       this.renderMessages()
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = ASRouterAdmin;
 
 
 /***/ }),
-/* 26 */
+/* 27 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_intl__);
@@ -3809,18 +4041,18 @@ class ASRouterAdmin extends __WEBPACK_IM
 class _ConfirmDialog extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this._handleCancelBtn = this._handleCancelBtn.bind(this);
     this._handleConfirmBtn = this._handleConfirmBtn.bind(this);
   }
 
   _handleCancelBtn() {
-    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DIALOG_CANCEL });
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].DIALOG_CANCEL, source: this.props.data.eventSource }));
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DIALOG_CANCEL });
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].DIALOG_CANCEL, source: this.props.data.eventSource }));
   }
 
   _handleConfirmBtn() {
     this.props.data.onConfirm.forEach(this.props.dispatch);
   }
 
   _renderModalMessage() {
     const message_body = this.props.data.body_string_id;
@@ -3879,17 +4111,17 @@ class _ConfirmDialog extends __WEBPACK_I
 /* unused harmony export _ConfirmDialog */
 
 
 const ConfirmDialog = Object(__WEBPACK_IMPORTED_MODULE_1_react_redux__["connect"])(state => state.Dialog)(_ConfirmDialog);
 /* harmony export (immutable) */ __webpack_exports__["a"] = ConfirmDialog;
 
 
 /***/ }),
-/* 27 */
+/* 28 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_intl__);
@@ -3911,23 +4143,23 @@ const ConfirmDialog = Object(__WEBPACK_I
 class _ManualMigration extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   constructor(props) {
     super(props);
     this.onLaunchTour = this.onLaunchTour.bind(this);
     this.onCancelTour = this.onCancelTour.bind(this);
   }
 
   onLaunchTour() {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_START }));
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_START }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].MIGRATION_START }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].MIGRATION_START }));
   }
 
   onCancelTour() {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_CANCEL }));
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].MIGRATION_CANCEL }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].MIGRATION_CANCEL }));
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].MIGRATION_CANCEL }));
   }
 
   render() {
     return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
       "div",
       { className: "manual-migration-container" },
       __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
         "p",
@@ -3955,17 +4187,17 @@ class _ManualMigration extends __WEBPACK
 /* unused harmony export _ManualMigration */
 
 
 const ManualMigration = Object(__WEBPACK_IMPORTED_MODULE_1_react_redux__["connect"])()(_ManualMigration);
 /* harmony export (immutable) */ __webpack_exports__["a"] = ManualMigration;
 
 
 /***/ }),
-/* 28 */
+/* 29 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PrerenderData; });
 class _PrerenderData {
   constructor(options) {
     this.initialPrefs = options.initialPrefs;
     this.initialSections = options.initialSections;
@@ -4057,26 +4289,26 @@ var PrerenderData = new _PrerenderData({
     id: "highlights",
     icon: "highlights",
     order: 2,
     title: { id: "header_highlights" }
   }]
 });
 
 /***/ }),
-/* 29 */
+/* 30 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_redux__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_constants__ = __webpack_require__(30);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_lib_constants__ = __webpack_require__(31);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);
 /* globals ContentSearchUIController */
 
 
 
 
 
@@ -4088,17 +4320,17 @@ class _Search extends __WEBPACK_IMPORTED
     super(props);
     this.onClick = this.onClick.bind(this);
     this.onInputMount = this.onInputMount.bind(this);
   }
 
   handleEvent(event) {
     // Also track search events with our own telemetry
     if (event.detail.type === "Search") {
-      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["a" /* actionCreators */].UserEvent({ event: "SEARCH" }));
+      this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: "SEARCH" }));
     }
   }
 
   onClick(event) {
     window.gContentSearchController.search(event);
   }
 
   componentWillUnmount() {
@@ -4176,42 +4408,42 @@ class _Search extends __WEBPACK_IMPORTED
 /* unused harmony export _Search */
 
 
 const Search = Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])()(Object(__WEBPACK_IMPORTED_MODULE_0_react_intl__["injectIntl"])(_Search));
 /* harmony export (immutable) */ __webpack_exports__["a"] = Search;
 
 
 /***/ }),
-/* 30 */
+/* 31 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {const IS_NEWTAB = global.document && global.document.documentURI === "about:newtab";
 /* harmony export (immutable) */ __webpack_exports__["a"] = IS_NEWTAB;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 31 */
+/* 32 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
-/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__ = __webpack_require__(32);
+/* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__ = __webpack_require__(33);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(14);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(16);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(34);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(35);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_content_src_components_Topics_Topics__ = __webpack_require__(35);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_content_src_components_TopSites_TopSites__ = __webpack_require__(36);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
 
@@ -4233,17 +4465,17 @@ function getFormattedMessage(message) {
 
 class Section extends __WEBPACK_IMPORTED_MODULE_6_react___default.a.PureComponent {
   _dispatchImpressionStats() {
     const { props } = this;
     const maxCards = 3 * props.maxRows;
     const cards = props.rows.slice(0, maxCards);
 
     if (this.needsImpressionStats(cards)) {
-      props.dispatch(__WEBPACK_IMPORTED_MODULE_2_common_Actions_jsm__["a" /* actionCreators */].ImpressionStats({
+      props.dispatch(__WEBPACK_IMPORTED_MODULE_2_common_Actions_jsm__["b" /* actionCreators */].ImpressionStats({
         source: props.eventSource,
         tiles: cards.map(link => ({ id: link.guid }))
       }));
       this.impressionCardGuids = cards.map(link => link.guid);
     }
   }
 
   // This sends an event when a user sees a set of new content. If content
@@ -4364,17 +4596,18 @@ class Section extends __WEBPACK_IMPORTED
           eventSource: eventSource,
           disclaimer: disclaimer,
           collapsed: this.props.pref.collapsed,
           showPrefName: pref && pref.feed || id,
           privacyNoticeURL: privacyNoticeURL,
           Prefs: this.props.Prefs,
           isFirst: isFirst,
           isLast: isLast,
-          dispatch: this.props.dispatch },
+          dispatch: this.props.dispatch,
+          isWebExtension: this.props.isWebExtension },
         !shouldShowEmptyState && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
           "ul",
           { className: "section-list", style: { padding: 0 } },
           realRows.map((link, index) => link && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__["a" /* Card */], { key: index, index: index, dispatch: dispatch, link: link, contextMenuOptions: contextMenuOptions,
             eventSource: eventSource, shouldSendImpressionStats: this.props.shouldSendImpressionStats, isWebExtension: this.props.isWebExtension })),
           placeholders > 0 && [...new Array(placeholders)].map((_, i) => __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_content_src_components_Card_Card__["b" /* PlaceholderCard */], { key: i }))
         ),
         shouldShowEmptyState && __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
@@ -4449,17 +4682,17 @@ class _Sections extends __WEBPACK_IMPORT
 
 
 const Sections = Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__["connect"])(state => ({ Sections: state.Sections, Prefs: state.Prefs }))(_Sections);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Sections;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 32 */
+/* 33 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(1);
 
 // CONCATENATED MODULE: ./system-addon/content-src/components/Card/types.js
@@ -4590,42 +4823,42 @@ class Card__Card extends external__React
     }
 
     return null;
   }
 
   onLinkClick(event) {
     event.preventDefault();
     if (this.props.link.type === "download") {
-      this.props.dispatch(Actions["a" /* actionCreators */].OnlyToMain({
-        type: Actions["b" /* actionTypes */].SHOW_DOWNLOAD_FILE,
+      this.props.dispatch(Actions["b" /* actionCreators */].OnlyToMain({
+        type: Actions["c" /* actionTypes */].SHOW_DOWNLOAD_FILE,
         data: this.props.link
       }));
     } else {
       const { altKey, button, ctrlKey, metaKey, shiftKey } = event;
-      this.props.dispatch(Actions["a" /* actionCreators */].OnlyToMain({
-        type: Actions["b" /* actionTypes */].OPEN_LINK,
+      this.props.dispatch(Actions["b" /* actionCreators */].OnlyToMain({
+        type: Actions["c" /* actionTypes */].OPEN_LINK,
         data: Object.assign(this.props.link, { event: { altKey, button, ctrlKey, metaKey, shiftKey } })
       }));
     }
     if (this.props.isWebExtension) {
-      this.props.dispatch(Actions["a" /* actionCreators */].WebExtEvent(Actions["b" /* actionTypes */].WEBEXT_CLICK, {
+      this.props.dispatch(Actions["b" /* actionCreators */].WebExtEvent(Actions["c" /* actionTypes */].WEBEXT_CLICK, {
         source: this.props.eventSource,
         url: this.props.link.url,
         action_position: this.props.index
       }));
     } else {
-      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent(Object.assign({
+      this.props.dispatch(Actions["b" /* actionCreators */].UserEvent(Object.assign({
         event: "CLICK",
         source: this.props.eventSource,
         action_position: this.props.index
       }, this._getTelemetryInfo())));
 
       if (this.props.shouldSendImpressionStats) {
-        this.props.dispatch(Actions["a" /* actionCreators */].ImpressionStats({
+        this.props.dispatch(Actions["b" /* actionCreators */].ImpressionStats({
           source: this.props.eventSource,
           click: 0,
           tiles: [{ id: this.props.link.guid, pos: this.props.index }]
         }));
       }
     }
   }
 
@@ -4746,17 +4979,17 @@ Card__Card.defaultProps = { link: {} };
 const Card = Object(external__ReactRedux_["connect"])(state => ({ platform: state.Prefs.values.platform }))(Card__Card);
 /* harmony export (immutable) */ __webpack_exports__["a"] = Card;
 
 const PlaceholderCard = () => external__React__default.a.createElement(Card, { placeholder: true });
 /* harmony export (immutable) */ __webpack_exports__["b"] = PlaceholderCard;
 
 
 /***/ }),
-/* 33 */
+/* 34 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_content_src_components_ContextMenu_ContextMenu__ = __webpack_require__(13);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);
@@ -4764,39 +4997,40 @@ const PlaceholderCard = () => external__
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_content_src_lib_section_menu_options__ = __webpack_require__(15);
 
 
 
 
 
 
 const DEFAULT_SECTION_MENU_OPTIONS = ["MoveUp", "MoveDown", "Separator", "RemoveSection", "CheckCollapsed", "Separator", "ManageSection"];
+const WEBEXT_SECTION_MENU_OPTIONS = ["MoveUp", "MoveDown", "Separator", "CheckCollapsed", "Separator", "ManageWebExtension"];
 
 class _SectionMenu extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
   getOptions() {
     const { props } = this;
 
-    const propOptions = Array.from(DEFAULT_SECTION_MENU_OPTIONS);
+    const propOptions = props.isWebExtension ? [...WEBEXT_SECTION_MENU_OPTIONS] : [...DEFAULT_SECTION_MENU_OPTIONS];
     // Prepend custom options and a separator
     if (props.extraOptions) {
       propOptions.splice(0, 0, ...props.extraOptions, "Separator");
     }
     // Insert privacy notice before the last option ("ManageSection")
     if (props.privacyNoticeURL) {
       propOptions.splice(-1, 0, "PrivacyNotice");
     }
 
     const options = propOptions.map(o => __WEBPACK_IMPORTED_MODULE_4_content_src_lib_section_menu_options__["a" /* SectionMenuOptions */][o](props)).map(option => {
       const { action, id, type, userEvent } = option;
       if (!type && id) {
         option.label = props.intl.formatMessage({ id });
         option.onClick = () => {
           props.dispatch(action);
           if (userEvent) {
-            props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+            props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({
               event: userEvent,
               source: props.source
             }));
           }
         };
       }
       return option;
     });
@@ -4818,17 +5052,17 @@ class _SectionMenu extends __WEBPACK_IMP
 /* unused harmony export _SectionMenu */
 
 
 const SectionMenu = Object(__WEBPACK_IMPORTED_MODULE_2_react_intl__["injectIntl"])(_SectionMenu);
 /* harmony export (immutable) */ __webpack_exports__["a"] = SectionMenu;
 
 
 /***/ }),
-/* 34 */
+/* 35 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
 
@@ -4874,32 +5108,32 @@ class Topics extends __WEBPACK_IMPORTED_
       )
     );
   }
 }
 /* harmony export (immutable) */ __webpack_exports__["a"] = Topics;
 
 
 /***/ }),
-/* 35 */
+/* 36 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__ = __webpack_require__(5);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_content_src_components_CollapsibleSection_CollapsibleSection__ = __webpack_require__(14);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_content_src_components_ComponentPerfTimer_ComponentPerfTimer__ = __webpack_require__(16);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux__ = __webpack_require__(4);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react_redux__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(2);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_intl__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react__ = __webpack_require__(0);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react__);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_common_Reducers_jsm__ = __webpack_require__(6);
-/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__TopSiteForm__ = __webpack_require__(36);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__TopSiteForm__ = __webpack_require__(37);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__TopSite__ = __webpack_require__(18);
 var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
 
 
 
 
 
 
@@ -4958,18 +5192,18 @@ class _TopSites extends __WEBPACK_IMPORT
   /**
    * Dispatch session statistics about the quality of TopSites icons and pinned count.
    */
   _dispatchTopSitesStats() {
     const topSites = this._getVisibleTopSites();
     const topSitesIconsStats = countTopSitesIconsTypes(topSites);
     const topSitesPinned = topSites.filter(site => !!site.isPinned).length;
     // Dispatch telemetry event with the count of TopSites images types.
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA,
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+      type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SAVE_SESSION_PERF_DATA,
       data: { topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned }
     }));
   }
 
   /**
    * Return the TopSites that are visible based on prefs and window width.
    */
   _getVisibleTopSites() {
@@ -4986,21 +5220,21 @@ class _TopSites extends __WEBPACK_IMPORT
     this._dispatchTopSitesStats();
   }
 
   componentDidMount() {
     this._dispatchTopSitesStats();
   }
 
   onFormClose() {
-    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].UserEvent({
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].UserEvent({
       source: __WEBPACK_IMPORTED_MODULE_1__TopSitesConstants__["d" /* TOP_SITES_SOURCE */],
       event: "TOP_SITES_EDIT_CLOSE"
     }));
-    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].TOP_SITES_CANCEL_EDIT });
+    this.props.dispatch({ type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].TOP_SITES_CANCEL_EDIT });
   }
 
   render() {
     const { props } = this;
     const { editForm } = props.TopSites;
 
     return __WEBPACK_IMPORTED_MODULE_6_react___default.a.createElement(
       __WEBPACK_IMPORTED_MODULE_3_content_src_components_ComponentPerfTimer_ComponentPerfTimer__["a" /* ComponentPerfTimer */],
@@ -5051,17 +5285,17 @@ const TopSites = Object(__WEBPACK_IMPORT
   Prefs: state.Prefs,
   TopSitesRows: state.Prefs.values.topSitesRows
 }))(Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__["injectIntl"])(_TopSites));
 /* harmony export (immutable) */ __webpack_exports__["a"] = TopSites;
 
 /* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(3)))
 
 /***/ }),
-/* 36 */
+/* 37 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 
 // EXTERNAL MODULE: ./system-addon/common/Actions.jsm
 var Actions = __webpack_require__(1);
 
 // EXTERNAL MODULE: external "ReactIntl"
@@ -5206,17 +5440,17 @@ class TopSiteForm_TopSiteForm extends ex
     this.setState({ showCustomScreenshotForm: true });
   }
 
   _updateCustomScreenshotInput(customScreenshotUrl) {
     this.setState({
       customScreenshotUrl,
       validationError: false
     });
-    this.props.dispatch({ type: Actions["b" /* actionTypes */].PREVIEW_REQUEST_CANCEL });
+    this.props.dispatch({ type: Actions["c" /* actionTypes */].PREVIEW_REQUEST_CANCEL });
   }
 
   onCustomScreenshotUrlChange(event) {
     this._updateCustomScreenshotInput(event.target.value);
   }
 
   onClearScreenshotInput() {
     this._updateCustomScreenshotInput("");
@@ -5238,38 +5472,38 @@ class TopSiteForm_TopSiteForm extends ex
       }
 
       if (this.state.customScreenshotUrl) {
         site.customScreenshotURL = this.cleanUrl(this.state.customScreenshotUrl);
       } else if (this.props.site && this.props.site.customScreenshotURL) {
         // Used to flag that previously cached screenshot should be removed
         site.customScreenshotURL = null;
       }
-      this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({
-        type: Actions["b" /* actionTypes */].TOP_SITES_PIN,
+      this.props.dispatch(Actions["b" /* actionCreators */].AlsoToMain({
+        type: Actions["c" /* actionTypes */].TOP_SITES_PIN,
         data: { site, index }
       }));
-      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
+      this.props.dispatch(Actions["b" /* actionCreators */].UserEvent({
         source: TopSitesConstants["d" /* TOP_SITES_SOURCE */],
         event: "TOP_SITES_EDIT",
         action_position: index
       }));
 
       this.props.onClose();
     }
   }
 
   onPreviewButtonClick(event) {
     event.preventDefault();
     if (this.validateForm()) {
-      this.props.dispatch(Actions["a" /* actionCreators */].AlsoToMain({
-        type: Actions["b" /* actionTypes */].PREVIEW_REQUEST,
+      this.props.dispatch(Actions["b" /* actionCreators */].AlsoToMain({
+        type: Actions["c" /* actionTypes */].PREVIEW_REQUEST,
         data: { url: this.cleanUrl(this.state.customScreenshotUrl) }
       }));
-      this.props.dispatch(Actions["a" /* actionCreators */].UserEvent({
+      this.props.dispatch(Actions["b" /* actionCreators */].UserEvent({
         source: TopSitesConstants["d" /* TOP_SITES_SOURCE */],
         event: "PREVIEW_REQUEST"
       }));
     }
   }
 
   cleanUrl(url) {
     // If we are missing a protocol, prepend http://
@@ -5421,17 +5655,172 @@ class TopSiteForm_TopSiteForm extends ex
 
 
 TopSiteForm_TopSiteForm.defaultProps = {
   site: null,
   index: -1
 };
 
 /***/ }),
-/* 37 */
+/* 38 */
+/***/ (function(module, __webpack_exports__, __webpack_require__) {
+
+"use strict";
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl__ = __webpack_require__(2);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_intl___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react_intl__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__ = __webpack_require__(1);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(4);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_redux__);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react__ = __webpack_require__(0);
+/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react__);
+
+
+
+
+
+class _StartupOverlay extends __WEBPACK_IMPORTED_MODULE_3_react___default.a.PureComponent {
+  constructor(props) {
+    super(props);
+    this.onInputChange = this.onInputChange.bind(this);
+    this.onSubmit = this.onSubmit.bind(this);
+    this.clickSkip = this.clickSkip.bind(this);
+    this.initScene = this.initScene.bind(this);
+    this.removeOverlay = this.removeOverlay.bind(this);
+
+    this.state = { emailInput: "" };
+    this.initScene();
+  }
+
+  initScene() {
+    // Timeout to allow the scene to render once before attaching the attribute
+    // to trigger the animation.
+    setTimeout(() => {
+      this.setState({ show: true });
+    }, 10);
+  }
+
+  removeOverlay() {
+    window.removeEventListener("visibilitychange", this.removeOverlay);
+    this.setState({ show: false });
+    setTimeout(() => {
+      // Allow scrolling and fully remove overlay after animation finishes.
+      document.body.classList.remove("welcome");
+    }, 400);
+  }
+
+  onInputChange(e) {
+    this.setState({ emailInput: e.target.value });
+  }
+
+  onSubmit() {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: "SUBMIT_EMAIL" }));
+    window.addEventListener("visibilitychange", this.removeOverlay);
+  }
+
+  clickSkip() {
+    this.props.dispatch(__WEBPACK_IMPORTED_MODULE_1_common_Actions_jsm__["b" /* actionCreators */].UserEvent({ event: "SKIPPED_SIGNIN" }));
+    this.removeOverlay();
+  }
+
+  render() {
+    let termsLink = __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+      "a",
+      { href: "https://accounts.firefox.com/legal/terms", target: "_blank", rel: "noopener noreferrer" },
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_terms_of_service" })
+    );
+    let privacyLink = __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+      "a",
+      { href: "https://accounts.firefox.com/legal/privacy", target: "_blank", rel: "noopener noreferrer" },
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_privacy_notice" })
+    );
+    return __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+      "div",
+      { className: `overlay-wrapper ${this.state.show ? "show " : ""}` },
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("div", { className: "background" }),
+      __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+        "div",
+        { className: "firstrun-scene" },
+        __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+          "div",
+          { className: "fxaccounts-container" },
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+            "div",
+            { className: "firstrun-left-divider" },
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+              "h1",
+              { className: "firstrun-title" },
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_title" })
+            ),
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+              "p",
+              { className: "firstrun-content" },
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_content" })
+            ),
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+              "a",
+              { className: "firstrun-link", href: "https://www.mozilla.org/firefox/features/sync/", target: "_blank", rel: "noopener noreferrer" },
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_learn_more_link" })
+            )
+          ),
+          __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+            "div",
+            { className: "firstrun-sign-in" },
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+              "p",
+              { className: "form-header" },
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_form_header" }),
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+                "span",
+                null,
+                __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_form_sub_header" })
+              )
+            ),
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+              "form",
+              { method: "get", action: "https://accounts.firefox.com", target: "_blank", rel: "noopener noreferrer", onSubmit: this.onSubmit },
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("input", { name: "service", type: "hidden", value: "sync" }),
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("input", { name: "action", type: "hidden", value: "email" }),
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("input", { name: "context", type: "hidden", value: "fx_desktop_v3" }),
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement("input", { className: "email-input", name: "email", type: "email", required: "true", placeholder: this.props.intl.formatMessage({ id: "firstrun_email_input_placeholder" }), onChange: this.onInputChange }),
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+                "div",
+                { className: "extra-links" },
+                __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], {
+                  id: "firstrun_extra_legal_links",
+                  values: {
+                    terms: termsLink,
+                    privacy: privacyLink
+                  } })
+              ),
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+                "button",
+                { className: "continue-button", type: "submit" },
+                __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_continue_to_login" })
+              )
+            ),
+            __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(
+              "button",
+              { className: "skip-button", disabled: !!this.state.emailInput, onClick: this.clickSkip },
+              __WEBPACK_IMPORTED_MODULE_3_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_0_react_intl__["FormattedMessage"], { id: "firstrun_skip_login" })
+            )
+          )
+        )
+      )
+    );
+  }
+}
+/* unused harmony export _StartupOverlay */
+
+
+const StartupOverlay = Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__["connect"])()(Object(__WEBPACK_IMPORTED_MODULE_0_react_intl__["injectIntl"])(_StartupOverlay));
+/* harmony export (immutable) */ __webpack_exports__["a"] = StartupOverlay;
+
+
+/***/ }),
+/* 39 */
 /***/ (function(module, __webpack_exports__, __webpack_require__) {
 
 "use strict";
 /* WEBPACK VAR INJECTION */(function(global) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__ = __webpack_require__(1);
 /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_common_PerfService_jsm__ = __webpack_require__(17);
 
 
 
@@ -5470,18 +5859,18 @@ class DetectUserSessionStart {
    *              visibility_event_rcvd_ts time in ms from the UNIX epoch.
    */
   _sendEvent() {
     this._perfService.mark("visibility_event_rcvd_ts");
 
     try {
       let visibility_event_rcvd_ts = this._perfService.getMostRecentAbsMarkStartByName("visibility_event_rcvd_ts");
 
-      this._store.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["a" /* actionCreators */].AlsoToMain({
-        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionTypes */].SAVE_SESSION_PERF_DATA,
+      this._store.dispatch(__WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["b" /* actionCreators */].AlsoToMain({
+        type: __WEBPACK_IMPORTED_MODULE_0_common_Actions_jsm__["c" /* actionTypes */].SAVE_SESSION_PERF_DATA,
         data: { visibility_event_rcvd_ts }
       }));
     } catch (ex) {
       // If this failed, it's likely because the `privacy.resistFingerprinting`
       // pref is true.  We should at least not blow up.
     }
   }
 
--- a/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
+++ b/browser/extensions/activity-stream/data/content/activity-stream.bundle.js.map
@@ -1,1 +1,1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 122289b5a7582e53c983","webpack:///external \"React\"","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/asrouter/asrouter-content.jsx","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"ReactDOM\"","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///external \"Redux\"","webpack:///./system-addon/content-src/asrouter/components/ImpressionsWrapper/ImpressionsWrapper.jsx","webpack:///./system-addon/content-src/asrouter/template-utils.js","webpack:///./system-addon/content-src/asrouter/components/Button/Button.jsx","webpack:///./system-addon/content-src/asrouter/components/SnippetBase/SnippetBase.jsx","webpack:///./system-addon/content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js"],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","ASRouterUserEvent","AS_ROUTER_TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Theme","className","Dialog","visible","Sections","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","pref","TOP_SITES_PREFS_UPDATED","TOP_SITES_EDIT","previewResponse","TOP_SITES_CANCEL_EDIT","PREVIEW_RESPONSE","previewUrl","preview","PREVIEW_REQUEST","PREVIEW_REQUEST_CANCEL","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","PLACES_LINK_DELETED","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPET_BLOCKED","blockList","concat","SNIPPETS_BLOCKLIST_CLEARED","SNIPPETS_RESET","THEME_UPDATE","INCOMING_MESSAGE_NAME","OUTGOING_MESSAGE_NAME","ASRouterUtils","addListener","listener","global","addMessageListener","removeListener","removeMessageListener","sendMessage","sendAsyncMessage","blockById","unblockById","getNextMessage","overrideMessage","sendTelemetry","ping","payload","ac","shouldSendImpressionOnUpdate","nextProps","prevProps","message","ASRouterUISurface","React","PureComponent","props","onMessageFromParent","bind","sendImpression","sendUserActionTelemetry","state","extraProps","eventType","provider","message_id","event","onBlockById","setState","componentWillMount","componentWillUnmount","render","document","defaultProps","initASRouter","ReactDOM","getElementById","MERGE_STORE_ACTION","EARLY_QUEUED_ACTIONS","SAVE_SESSION_PERF_DATA","PAGE_PRERENDERED","mergeStateReducer","mainReducer","messageMiddleware","store","next","au","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","NEW_TAB_STATE_REQUEST","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","initStore","reducers","initialState","createStore","combineReducers","applyMiddleware","msg","dispatch","ex","console","error","dump","JSON","stringify","stack","ErrorBoundaryFallback","windowObj","window","onClick","location","reload","defaultClass","ErrorBoundary","hasError","componentDidCatch","info","children","FallbackComponent","_OpenInPrivateWindow","icon","OPEN_PRIVATE_WINDOW","referrer","userEvent","GetPlatformString","platform","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","typedBonus","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","isEnabled","siteInfo","onConfirm","forceBlock","body_string_id","confirm_button_string_id","cancel_button_string_id","ShowFile","SHOW_DOWNLOAD_FILE","OpenFile","OPEN_DOWNLOAD_FILE","CopyDownloadLink","COPY_DOWNLOAD_LINK","GoToDownloadPage","OPEN_LINK","disabled","RemoveDownload","REMOVE_DOWNLOAD_FILE","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","OpenInPrivateWindow","DEFAULT_SITE_MENU_OPTIONS","_LinkMenu","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","userEventData","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","addEventListener","removeEventListener","stopPropagation","i","ContextMenuItem","onKeyDown","shiftKey","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillUpdate","collapsed","sectionBody","scrollHeight","visibilityState","node","undefined","maxHeight","SectionMenuOptions","CheckCollapsed","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","extraMenuOptions","showPrefName","privacyNoticeURL","isFirst","isLast","needsDisclaimer","active","CollapsibleSection","MoveUp","SECTION_MOVE","direction","MoveDown","RemoveSection","CollapseSection","UPDATE_SECTION_PREFS","ExpandSection","ManageSection","SETTINGS_OPEN","AddTopSite","PrivacyNotice","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","defaultStyle","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","customScreenshotURL","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","_getTelemetryInfo","icon_type","iconType","card_type","altKey","ctrlKey","metaKey","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","topSiteIconType","slotProps","TopSiteList","gActivityStreamPrerenderedState","sendEventOrAddListener","hydrate","documentElement","lang","gActivityStreamStrings","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","onMessage","TOTAL_BOOKMARKS_RESPONSE","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","asrouterExperimentEnabled","disableSnippets","ImpressionsWrapper","sendImpressionOrAddListener","_onVisibilityChange","sendOnMount","safeURI","protocol","URL","isAllowed","warn","Button","onBlockClicked","onBlock","containerClassName","DEFAULT_ICON_PATH","onButtonClick","content","button_url","button_label","PrefsButton","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","_Base","updateTheme","sendNewTabRehydrated","isPrerendered","bodyClassName","v","join","body","renderNotified","NEW_TAB_REHYDRATED","strings","hash","BaseContent","openPreferences","prefs","shouldBeFixedToTop","PrerenderData","arePrefsValid","outerClassName","showSearch","migrationExpired","Base","ASRouterAdmin","handleBlock","handleUnblock","handleOverride","renderMessageItem","isCurrent","currentId","isBlocked","itemClassName","renderMessages","messages","renderProviders","providers","_ConfirmDialog","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","_ManualMigration","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","oneOf","getPref","indexedDBPrefs","some","anyModifiedPrefs","prefName","order","_Search","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","isCollapsed","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","feed","padding","isWebExtension","_","read_more_endpoint","SectionIntl","_Sections","renderSections","sections","enabledSections","sectionOrder","showTopSites","expectedCount","sectionId","split","cardContextTypes","history","intlID","bookmark","trending","download","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","WEBEXT_CLICK","click","hasImage","placeholder","description","context","_Card","Card","PlaceholderCard","DEFAULT_SECTION_MENU_OPTIONS","_SectionMenu","extraOptions","SectionMenu","Topic","Topics","t","faviconRef","countTopSitesIconsTypes","countTopSitesTypes","acc","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","topSitesRows","validationError","onChange","onMount","shouldFocus","focus","ev","showClearButton","onClear","typeUrl","titleId","loading","placeholderId","errorMessageId","TopSiteFormInput","customScreenshotUrl","showCustomScreenshotForm","onClearScreenshotInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onCustomScreenshotUrlChange","onPreviewButtonClick","onEnableScreenshotUrlForm","validateUrl","_updateCustomScreenshotInput","onClose","validateForm","cleanUrl","_tryParseUrl","validProtocols","urlObj","validateCustomScreenshotUrl","validate","_renderCustomScreenshotInput","requestFailed","isLoading","showAsAdd","previous","changed","previewMode","previewLink","TopSiteForm","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts"],"mappings":"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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 122289b5a7582e53c983","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 0\n// module chunks = 0","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"AS_ROUTER_TELEMETRY_USER_EVENT\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"COPY_DOWNLOAD_LINK\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"DOWNLOAD_CHANGED\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_DOWNLOAD_FILE\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_CHANGED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_LINK_DELETED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"PREVIEW_REQUEST\",\n  \"PREVIEW_REQUEST_CANCEL\",\n  \"PREVIEW_RESPONSE\",\n  \"REMOVE_DOWNLOAD_FILE\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_MOVE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_DOWNLOAD_FILE\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SNIPPETS_BLOCKLIST_CLEARED\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"THEME_UPDATE\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_PREFS_UPDATED\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"UPDATE_SECTION_PREFS\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * ASRouterUserEvent - A telemetry ping indicating a user action from AS router. This should only\n *                     be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction ASRouterUserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.AS_ROUTER_TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  ASRouterUserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Theme: {className: \"\"},\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: []\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data || !action.data.links) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data.links}, action.data.pref ? {pref: action.data.pref} : {});\n    case at.TOP_SITES_PREFS_UPDATED:\n      return Object.assign({}, prevState, {pref: action.data.pref});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: action.data.index,\n          previewResponse: null\n        }\n      });\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.PREVIEW_RESPONSE:\n      if (!prevState.editForm || action.data.url !== prevState.editForm.previewUrl) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: action.data.preview,\n          previewUrl: action.data.url\n        }\n      });\n    case at.PREVIEW_REQUEST:\n      if (!prevState.editForm) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: null,\n          previewUrl: action.data.url\n        }\n      });\n    case at.PREVIEW_REQUEST_CANCEL:\n      if (!prevState.editForm) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: null\n        }\n      });\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_LINK_DELETED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.filter(site => action.data.url !== site.url);\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n      // Otherwise, append it\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        const section = Object.assign({title: \"\", rows: [], enabled: false}, action.data, {initialized});\n        newState.push(section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINK_DELETED:\n    case at.PLACES_LINK_BLOCKED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPET_BLOCKED:\n      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});\n    case at.SNIPPETS_BLOCKLIST_CLEARED:\n      return Object.assign({}, prevState, {blockList: []});\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nfunction Theme(prevState = INITIAL_STATE.Theme, action) {\n  switch (action.type) {\n    case at.THEME_UPDATE:\n      return Object.assign({}, prevState, action.data);\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, Theme};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {OUTGOING_MESSAGE_NAME as AS_GENERAL_OUTGOING_MESSAGE_NAME} from \"content-src/lib/init-store\";\nimport {ImpressionsWrapper} from \"./components/ImpressionsWrapper/ImpressionsWrapper\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {SimpleSnippet} from \"./templates/SimpleSnippet/SimpleSnippet\";\n\nconst INCOMING_MESSAGE_NAME = \"ASRouter:parent-to-child\";\nconst OUTGOING_MESSAGE_NAME = \"ASRouter:child-to-parent\";\n\nexport const ASRouterUtils = {\n  addListener(listener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, listener);\n  },\n  removeListener(listener) {\n    global.removeMessageListener(INCOMING_MESSAGE_NAME, listener);\n  },\n  sendMessage(action) {\n    global.sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  },\n  blockById(id) {\n    ASRouterUtils.sendMessage({type: \"BLOCK_MESSAGE_BY_ID\", data: {id}});\n  },\n  unblockById(id) {\n    ASRouterUtils.sendMessage({type: \"UNBLOCK_MESSAGE_BY_ID\", data: {id}});\n  },\n  getNextMessage() {\n    ASRouterUtils.sendMessage({type: \"GET_NEXT_MESSAGE\"});\n  },\n  overrideMessage(id) {\n    ASRouterUtils.sendMessage({type: \"OVERRIDE_MESSAGE\", data: {id}});\n  },\n  sendTelemetry(ping) {\n    const payload = ac.ASRouterUserEvent(ping);\n    global.sendAsyncMessage(AS_GENERAL_OUTGOING_MESSAGE_NAME, payload);\n  }\n};\n\n// Note: nextProps/prevProps refer to props passed to <ImpressionsWrapper />, not <ASRouterUISurface />\nfunction shouldSendImpressionOnUpdate(nextProps, prevProps) {\n  return (nextProps.message.id && (!prevProps.message || prevProps.message.id !== nextProps.message.id));\n}\n\nexport class ASRouterUISurface extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMessageFromParent = this.onMessageFromParent.bind(this);\n    this.sendImpression = this.sendImpression.bind(this);\n    this.sendUserActionTelemetry = this.sendUserActionTelemetry.bind(this);\n    this.state = {message: {}};\n  }\n\n  sendUserActionTelemetry(extraProps = {}) {\n    const {message} = this.state;\n    const eventType =  `${message.provider}_user_event`;\n\n    ASRouterUtils.sendTelemetry(Object.assign({\n      message_id: message.id,\n      source: this.props.id,\n      action: eventType\n    }, extraProps));\n  }\n\n  sendImpression() {\n    this.sendUserActionTelemetry({event: \"IMPRESSION\"});\n  }\n\n  onBlockById(id) {\n    return () => ASRouterUtils.blockById(id);\n  }\n\n  onMessageFromParent({data: action}) {\n    switch (action.type) {\n      case \"SET_MESSAGE\":\n        this.setState({message: action.data});\n        break;\n      case \"CLEAR_MESSAGE\":\n        this.setState({message: {}});\n        break;\n    }\n  }\n\n  componentWillMount() {\n    ASRouterUtils.addListener(this.onMessageFromParent);\n    ASRouterUtils.sendMessage({type: \"CONNECT_UI_REQUEST\"});\n  }\n\n  componentWillUnmount() {\n    ASRouterUtils.removeListener(this.onMessageFromParent);\n  }\n\n  render() {\n    const {message} = this.state;\n    if (!message.id) { return null; }\n    return (<ImpressionsWrapper\n        message={message}\n        sendImpression={this.sendImpression}\n        shouldSendImpressionOnUpdate={shouldSendImpressionOnUpdate}\n        // This helps with testing\n        document={this.props.document}>\n        <SimpleSnippet\n          {...message}\n          UISurface={this.props.id}\n          getNextMessage={ASRouterUtils.getNextMessage}\n          onBlock={this.onBlockById(message.id)}\n          sendUserActionTelemetry={this.sendUserActionTelemetry} />\n      </ImpressionsWrapper>\n    );\n  }\n}\n\nASRouterUISurface.defaultProps = {document: global.document};\n\nexport function initASRouter() {\n  ReactDOM.render(<ASRouterUISurface id=\"NEWTAB_FOOTER_BAR\" />, document.getElementById(\"snippets-container\"));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/asrouter-content.jsx","/* eslint-env mozilla/frame-script */\n\nimport {actionCreators as ac, actionTypes as at, actionUtils as au} from \"common/Actions.jsm\";\nimport {applyMiddleware, combineReducers, createStore} from \"redux\";\n\nexport const MERGE_STORE_ACTION = \"NEW_TAB_INITIAL_STATE\";\nexport const OUTGOING_MESSAGE_NAME = \"ActivityStream:ContentToMain\";\nexport const INCOMING_MESSAGE_NAME = \"ActivityStream:MainToContent\";\nexport const EARLY_QUEUED_ACTIONS = [at.SAVE_SESSION_PERF_DATA, at.PAGE_PRERENDERED];\n\n/**\n * A higher-order function which returns a reducer that, on MERGE_STORE action,\n * will return the action.data object merged into the previous state.\n *\n * For all other actions, it merely calls mainReducer.\n *\n * Because we want this to merge the entire state object, it's written as a\n * higher order function which takes the main reducer (itself often a call to\n * combineReducers) as a parameter.\n *\n * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION\n * @return {function}             a reducer that, on MERGE_STORE_ACTION action,\n *                                will return the action.data object merged\n *                                into the previous state, and the result\n *                                of calling mainReducer otherwise.\n */\nfunction mergeStateReducer(mainReducer) {\n  return (prevState, action) => {\n    if (action.type === MERGE_STORE_ACTION) {\n      return Object.assign({}, prevState, action.data);\n    }\n\n    return mainReducer(prevState, action);\n  };\n}\n\n/**\n * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary\n */\nconst messageMiddleware = store => next => action => {\n  const skipLocal = action.meta && action.meta.skipLocal;\n  if (au.isSendToMain(action)) {\n    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  }\n  if (!skipLocal) {\n    next(action);\n  }\n};\n\nexport const rehydrationMiddleware = store => next => action => {\n  if (store._didRehydrate) {\n    return next(action);\n  }\n\n  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;\n  const isRehydrationRequest = action.type === at.NEW_TAB_STATE_REQUEST;\n\n  if (isRehydrationRequest) {\n    store._didRequestInitialState = true;\n    return next(action);\n  }\n\n  if (isMergeStoreAction) {\n    store._didRehydrate = true;\n    return next(action);\n  }\n\n  // If init happened after our request was made, we need to re-request\n  if (store._didRequestInitialState && action.type === at.INIT) {\n    return next(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n  }\n\n  if (au.isBroadcastToContent(action) || au.isSendToOneContent(action) || au.isSendToPreloaded(action)) {\n    // Note that actions received before didRehydrate will not be dispatched\n    // because this could negatively affect preloading and the the state\n    // will be replaced by rehydration anyway.\n    return null;\n  }\n\n  return next(action);\n};\n\n/**\n * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives\n * the first action from main. This is useful for those actions for main which\n * require higher reliability, i.e. the action will not be lost in the case\n * that it gets sent before the main is ready to receive it. Conversely, any\n * actions allowed early are accepted to be ignorable or re-sendable.\n */\nexport const queueEarlyMessageMiddleware = store => next => action => {\n  if (store._receivedFromMain) {\n    next(action);\n  } else if (au.isFromMain(action)) {\n    next(action);\n    store._receivedFromMain = true;\n    // Sending out all the early actions as main is ready now\n    if (store._earlyActionQueue) {\n      store._earlyActionQueue.forEach(next);\n      store._earlyActionQueue = [];\n    }\n  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {\n    store._earlyActionQueue = store._earlyActionQueue || [];\n    store._earlyActionQueue.push(action);\n  } else {\n    // Let any other type of action go through\n    next(action);\n  }\n};\n\n/**\n * initStore - Create a store and listen for incoming actions\n *\n * @param  {object} reducers An object containing Redux reducers\n * @param  {object} intialState (optional) The initial state of the store, if desired\n * @return {object}          A redux store\n */\nexport function initStore(reducers, initialState) {\n  const store = createStore(\n    mergeStateReducer(combineReducers(reducers)),\n    initialState,\n    global.addMessageListener && applyMiddleware(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware)\n  );\n\n  store._didRehydrate = false;\n  store._didRequestInitialState = false;\n\n  if (global.addMessageListener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {\n      try {\n        store.dispatch(msg.data);\n      } catch (ex) {\n        console.error(\"Content msg:\", msg, \"Dispatch error: \", ex); // eslint-disable-line no-console\n        dump(`Content msg: ${JSON.stringify(msg)}\\nDispatch error: ${ex}\\n${ex.stack}`);\n      }\n    });\n  }\n\n  return store;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/init-store.js","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 9\n// module chunks = 0","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\nexport const GetPlatformString = platform => {\n  switch (platform) {\n    case \"win\":\n      return \"menu_action_show_file_windows\";\n    case \"macosx\":\n      return \"menu_action_show_file_mac_os\";\n    case \"linux\":\n      return \"menu_action_show_file_linux\";\n    default:\n      return \"menu_action_show_file_default\";\n  }\n};\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {\n        referrer: site.referrer,\n        typedBonus: site.typedBonus,\n        url: site.url\n      }\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent(Object.assign({event: \"DELETE\", source: eventSource, action_position: index}, siteInfo))\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  ShowFile: (site, index, eventSource, isEnabled, siteInfo, platform) => ({\n    id: GetPlatformString(platform),\n    icon: \"search\",\n    action: ac.OnlyToMain({\n      type: at.SHOW_DOWNLOAD_FILE,\n      data: {url: site.url}\n    })\n  }),\n  OpenFile: site => ({\n    id: \"menu_action_open_file\",\n    icon: \"open-file\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_DOWNLOAD_FILE,\n      data: {url: site.url}\n    })\n  }),\n  CopyDownloadLink: site => ({\n    id: \"menu_action_copy_download_link\",\n    icon: \"copy\",\n    action: ac.OnlyToMain({\n      type: at.COPY_DOWNLOAD_LINK,\n      data: {url: site.url}\n    })\n  }),\n  GoToDownloadPage: site => ({\n    id: \"menu_action_go_to_download_page\",\n    icon: \"download\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: site.referrer}\n    }),\n    disabled: !site.referrer\n  }),\n  RemoveDownload: site => ({\n    id: \"menu_action_remove_download\",\n    icon: \"delete\",\n    action: ac.OnlyToMain({\n      type: at.REMOVE_DOWNLOAD_FILE,\n      data: {url: site.url}\n    })\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled, siteInfo, platform} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo, platform)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            const userEventData = Object.assign({\n              event: userEvent,\n              source,\n              action_position: index\n            }, siteInfo);\n            props.dispatch(ac.UserEvent(userEventData));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled, platform: state.Prefs.values.platform});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  onClick(event) {\n    // Eat all clicks on the context menu so they don't bubble up to window.\n    // This prevents the context menu from closing when clicking disabled items\n    // or the separators.\n    event.stopPropagation();\n  }\n\n  render() {\n    return (<span className=\"context-menu\" onClick={this.onClick}>\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\" className={option.disabled ? \"disabled\" : \"\"}>\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"DISCLAIMER_ACKED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!this.props.collapsed && nextProps.collapsed) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    // If props.collapsed is undefined handler shouldn't do anything.\n    if (!this.sectionBody || this.props.collapsed === undefined) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    const {action, userEvent} = SectionMenuOptions.CheckCollapsed(this.props);\n    this.props.dispatch(action);\n    this.props.dispatch(ac.UserEvent({\n      event: userEvent,\n      source: this.props.source\n    }));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.collapsed !== undefined;\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, collapsed, disclaimer, title, extraMenuOptions, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n\n    return (\n      <section className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${collapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={this.onHeaderClick}>\n              {this.renderIcon()}\n              {getFormattedMessage(title)}\n              {isCollapsible && <span className={`collapsible-arrow icon ${collapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                id={id}\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                privacyNoticeURL={privacyNoticeURL}\n                collapsed={collapsed}\n                onUpdate={this.onMenuUpdate}\n                isFirst={isFirst}\n                isLast={isLast}\n                dispatch={dispatch} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !collapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * List of functions that return items that can be included as menu options in a\n * SectionMenu. All functions take the section as the only parameter.\n */\nexport const SectionMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  MoveUp: section => ({\n    id: \"section_menu_action_move_up\",\n    icon: \"arrowhead-up\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: -1}\n    }),\n    userEvent: \"MENU_MOVE_UP\",\n    disabled: !!section.isFirst\n  }),\n  MoveDown: section => ({\n    id: \"section_menu_action_move_down\",\n    icon: \"arrowhead-down\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: +1}\n    }),\n    userEvent: \"MENU_MOVE_DOWN\",\n    disabled: !!section.isLast\n  }),\n  RemoveSection: section => ({\n    id: \"section_menu_action_remove_section\",\n    icon: \"dismiss\",\n    action: ac.SetPref(section.showPrefName, false),\n    userEvent: \"MENU_REMOVE\"\n  }),\n  CollapseSection: section => ({\n    id: \"section_menu_action_collapse_section\",\n    icon: \"minimize\",\n    action: ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data: {id: section.id, value: {collapsed: true}}}),\n    userEvent: \"MENU_COLLAPSE\"\n  }),\n  ExpandSection: section => ({\n    id: \"section_menu_action_expand_section\",\n    icon: \"maximize\",\n    action: ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data: {id: section.id, value: {collapsed: false}}}),\n    userEvent: \"MENU_EXPAND\"\n  }),\n  ManageSection: section => ({\n    id: \"section_menu_action_manage_section\",\n    icon: \"settings\",\n    action: ac.OnlyToMain({type: at.SETTINGS_OPEN}),\n    userEvent: \"MENU_MANAGE\"\n  }),\n  AddTopSite: section => ({\n    id: \"section_menu_action_add_topsite\",\n    icon: \"add\",\n    action: {type: at.TOP_SITES_EDIT, data: {index: -1}},\n    userEvent: \"MENU_ADD_TOPSITE\"\n  }),\n  PrivacyNotice: section => ({\n    id: \"section_menu_action_privacy_notice\",\n    icon: \"info\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: section.privacyNoticeURL}\n    }),\n    userEvent: \"MENU_PRIVACY_NOTICE\"\n  }),\n  CheckCollapsed: section => (section.collapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section))\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/section-menu-options.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, defaultStyle, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (defaultStyle) { // force no styles (letter fallback) even if the link has imagery\n      smallFaviconFallback = false;\n    } else if (link.customScreenshotURL) {\n      // assume high quality custom screenshot and use rich icon styles and class names\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${link.screenshot})`\n      };\n    } else if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    const value = {icon_type: this.props.link.iconType};\n    // Filter out \"not_pinned\" type for being the default\n    if (this.props.link.isPinned) {\n      value.card_type = \"pinned\";\n    }\n    return {value};\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent(Object.assign({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }, this._getTelemetryInfo())));\n  }\n\n  onLinkClick(event) {\n    this.userEvent(\"CLICK\");\n\n    // Specially handle a top site link click for \"typed\" frecency bonus as\n    // specified as a property on the link.\n    event.preventDefault();\n    const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n    this.props.dispatch(ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n    }));\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              siteInfo={this._getTelemetryInfo()}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {\n              site: {\n                url: this.state.draggedSite.url,\n                label: this.state.draggedTitle,\n                customScreenshotURL: this.state.draggedSite.customScreenshotURL\n              },\n              index,\n              draggedFromIndex: this.state.draggedIndex\n            }\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i] && Object.assign({}, topSites[i], {iconType: this.props.topSiteIconType(topSites[i])});\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/activity-stream.jsx","const DATABASE_NAME = \"snippets_db\";\nconst DATABASE_VERSION = 1;\nconst SNIPPETS_OBJECTSTORE_NAME = \"snippets\";\nexport const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours.\n\nconst SNIPPETS_ENABLED_EVENT = \"Snippets:Enabled\";\nconst SNIPPETS_DISABLED_EVENT = \"Snippets:Disabled\";\n\nimport {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {initASRouter} from \"content-src/asrouter/asrouter-content\";\n\n/**\n * SnippetsMap - A utility for cacheing values related to the snippet. It has\n *               the same interface as a Map, but is optionally backed by\n *               indexedDB for persistent storage.\n *               Call .connect() to open a database connection and restore any\n *               previously cached data, if necessary.\n *\n */\nexport class SnippetsMap extends Map {\n  constructor(dispatch) {\n    super();\n    this._db = null;\n    this._dispatch = dispatch;\n  }\n\n  set(key, value) {\n    super.set(key, value);\n    return this._dbTransaction(db => db.put(value, key));\n  }\n\n  delete(key) {\n    super.delete(key);\n    return this._dbTransaction(db => db.delete(key));\n  }\n\n  clear() {\n    super.clear();\n    this._dispatch(ac.OnlyToMain({type: at.SNIPPETS_BLOCKLIST_CLEARED}));\n    return this._dbTransaction(db => db.clear());\n  }\n\n  get blockList() {\n    return this.get(\"blockList\") || [];\n  }\n\n  /**\n   * blockSnippetById - Blocks a snippet given an id\n   *\n   * @param  {str|int} id   The id of the snippet\n   * @return {Promise}      Resolves when the id has been written to indexedDB,\n   *                        or immediately if the snippetMap is not connected\n   */\n  async blockSnippetById(id) {\n    if (!id) {\n      return;\n    }\n    const {blockList} = this;\n    if (!blockList.includes(id)) {\n      blockList.push(id);\n      this._dispatch(ac.AlsoToMain({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: id}));\n      await this.set(\"blockList\", blockList);\n    }\n  }\n\n  disableOnboarding() {\n    this._dispatch(ac.AlsoToMain({type: at.DISABLE_ONBOARDING}));\n  }\n\n  showFirefoxAccounts() {\n    this._dispatch(ac.AlsoToMain({type: at.SHOW_FIREFOX_ACCOUNTS}));\n  }\n\n  getTotalBookmarksCount() {\n    return new Promise(resolve => {\n      this._dispatch(ac.OnlyToMain({type: at.TOTAL_BOOKMARKS_REQUEST}));\n      global.addMessageListener(\"ActivityStream:MainToContent\", function onMessage({data: action}) {\n        if (action.type === at.TOTAL_BOOKMARKS_RESPONSE) {\n          resolve(action.data);\n          global.removeMessageListener(\"ActivityStream:MainToContent\", onMessage);\n        }\n      });\n    });\n  }\n\n  /**\n   * connect - Attaches an indexedDB back-end to the Map so that any set values\n   *           are also cached in a store. It also restores any existing values\n   *           that are already stored in the indexedDB store.\n   *\n   * @return {type}  description\n   */\n  async connect() {\n    // Open the connection\n    const db = await this._openDB();\n\n    // Restore any existing values\n    await this._restoreFromDb(db);\n\n    // Attach a reference to the db\n    this._db = db;\n  }\n\n  /**\n   * _dbTransaction - Returns a db transaction wrapped with the given modifier\n   *                  function as a Promise. If the db has not been connected,\n   *                  it resolves immediately.\n   *\n   * @param  {func} modifier A function to call with the transaction\n   * @return {obj}           A Promise that resolves when the transaction has\n   *                         completed or errored\n   */\n  _dbTransaction(modifier) {\n    if (!this._db) {\n      return Promise.resolve();\n    }\n    return new Promise((resolve, reject) => {\n      const transaction = modifier(\n        this._db\n          .transaction(SNIPPETS_OBJECTSTORE_NAME, \"readwrite\")\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME)\n      );\n      transaction.onsuccess = event => resolve();\n\n      /* istanbul ignore next */\n      transaction.onerror = event => reject(transaction.error);\n    });\n  }\n\n  _openDB() {\n    return new Promise((resolve, reject) => {\n      const openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n\n      /* istanbul ignore next */\n      openRequest.onerror = event => {\n        // Try to delete the old database so that we can start this process over\n        // next time.\n        indexedDB.deleteDatabase(DATABASE_NAME);\n        reject(event);\n      };\n\n      openRequest.onupgradeneeded = event => {\n        const db = event.target.result;\n        if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {\n          db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);\n        }\n      };\n\n      openRequest.onsuccess = event => {\n        let db = event.target.result;\n\n        /* istanbul ignore next */\n        db.onerror = err => console.error(err); // eslint-disable-line no-console\n        /* istanbul ignore next */\n        db.onversionchange = versionChangeEvent => versionChangeEvent.target.close();\n\n        resolve(db);\n      };\n    });\n  }\n\n  _restoreFromDb(db) {\n    return new Promise((resolve, reject) => {\n      let cursorRequest;\n      try {\n        cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();\n      } catch (err) {\n        // istanbul ignore next\n        reject(err);\n        // istanbul ignore next\n        return;\n      }\n\n      /* istanbul ignore next */\n      cursorRequest.onerror = event => reject(event);\n\n      cursorRequest.onsuccess = event => {\n        let cursor = event.target.result;\n        // Populate the cache from the persistent storage.\n        if (cursor) {\n          if (cursor.value !== \"blockList\") {\n            this.set(cursor.key, cursor.value);\n          }\n          cursor.continue();\n        } else {\n          // We are done.\n          resolve();\n        }\n      };\n    });\n  }\n}\n\n/**\n * SnippetsProvider - Initializes a SnippetsMap and loads snippets from a\n *                    remote location, or else default snippets if the remote\n *                    snippets cannot be retrieved.\n */\nexport class SnippetsProvider {\n  constructor(dispatch) {\n    // Initialize the Snippets Map and attaches it to a global so that\n    // the snippet payload can interact with it.\n    global.gSnippetsMap = new SnippetsMap(dispatch);\n    this._onAction = this._onAction.bind(this);\n  }\n\n  get snippetsMap() {\n    return global.gSnippetsMap;\n  }\n\n  async _refreshSnippets() {\n    // Check if the cached version of of the snippets in snippetsMap. If it's too\n    // old, blow away the entire snippetsMap.\n    const cachedVersion = this.snippetsMap.get(\"snippets-cached-version\");\n\n    if (cachedVersion !== this.appData.version) {\n      this.snippetsMap.clear();\n    }\n\n    // Has enough time passed for us to require an update?\n    const lastUpdate = this.snippetsMap.get(\"snippets-last-update\");\n    const needsUpdate = !(lastUpdate >= 0) || Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;\n\n    if (needsUpdate && this.appData.snippetsURL) {\n      this.snippetsMap.set(\"snippets-last-update\", Date.now());\n      try {\n        const response = await fetch(this.appData.snippetsURL);\n        if (response.status === 200) {\n          const payload = await response.text();\n\n          this.snippetsMap.set(\"snippets\", payload);\n          this.snippetsMap.set(\"snippets-cached-version\", this.appData.version);\n        }\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n  }\n\n  _noSnippetFallback() {\n    // TODO\n  }\n\n  _forceOnboardingVisibility(shouldBeVisible) {\n    const onboardingEl = document.getElementById(\"onboarding-notification-bar\");\n\n    if (onboardingEl) {\n      onboardingEl.style.display = shouldBeVisible ? \"\" : \"none\";\n    }\n  }\n\n  _showRemoteSnippets() {\n    const snippetsEl = document.getElementById(this.elementId);\n    const payload = this.snippetsMap.get(\"snippets\");\n\n    if (!snippetsEl) {\n      throw new Error(`No element was found with id '${this.elementId}'.`);\n    }\n\n    // This could happen if fetching failed\n    if (!payload) {\n      throw new Error(\"No remote snippets were found in gSnippetsMap.\");\n    }\n\n    if (typeof payload !== \"string\") {\n      throw new Error(\"Snippet payload was incorrectly formatted\");\n    }\n\n    // Note that injecting snippets can throw if they're invalid XML.\n    // eslint-disable-next-line no-unsanitized/property\n    snippetsEl.innerHTML = payload;\n\n    // Scripts injected by innerHTML are inactive, so we have to relocate them\n    // through DOM manipulation to activate their contents.\n    for (const scriptEl of snippetsEl.getElementsByTagName(\"script\")) {\n      const relocatedScript = document.createElement(\"script\");\n      relocatedScript.text = scriptEl.text;\n      scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);\n    }\n  }\n\n  _onAction(msg) {\n    if (msg.data.type === at.SNIPPET_BLOCKED) {\n      if (!this.snippetsMap.blockList.includes(msg.data.data)) {\n        this.snippetsMap.set(\"blockList\", this.snippetsMap.blockList.concat(msg.data.data));\n        document.getElementById(\"snippets-container\").style.display = \"none\";\n      }\n    }\n  }\n\n  /**\n   * init - Fetch the snippet payload and show snippets\n   *\n   * @param  {obj} options\n   * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets\n   * @param  {int} options.appData.version  The current snippets version\n   * @param  {str} options.elementId  The id of the element in which to inject snippets\n   * @param  {bool} options.connect  Should gSnippetsMap connect to indexedDB?\n   */\n  async init(options) {\n    Object.assign(this, {\n      appData: {},\n      elementId: \"snippets\",\n      connect: true\n    }, options);\n\n    // Add listener so we know when snippets are blocked on other pages\n    if (global.addMessageListener) {\n      global.addMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n\n    // TODO: Requires enabling indexedDB on newtab\n    // Restore the snippets map from indexedDB\n    if (this.connect) {\n      try {\n        await this.snippetsMap.connect();\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n\n    // Cache app data values so they can be accessible from gSnippetsMap\n    for (const key of Object.keys(this.appData)) {\n      if (key === \"blockList\") {\n        this.snippetsMap.set(\"blockList\", this.appData[key]);\n      } else {\n        this.snippetsMap.set(`appData.${key}`, this.appData[key]);\n      }\n    }\n\n    // Refresh snippets, if enough time has passed.\n    await this._refreshSnippets();\n\n    // Try showing remote snippets, falling back to defaults if necessary.\n    try {\n      this._showRemoteSnippets();\n    } catch (e) {\n      this._noSnippetFallback(e);\n    }\n\n    window.dispatchEvent(new Event(SNIPPETS_ENABLED_EVENT));\n\n    this._forceOnboardingVisibility(true);\n    this.initialized = true;\n  }\n\n  uninit() {\n    window.dispatchEvent(new Event(SNIPPETS_DISABLED_EVENT));\n    this._forceOnboardingVisibility(false);\n    if (global.removeMessageListener) {\n      global.removeMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n    this.initialized = false;\n  }\n}\n\n/**\n * addSnippetsSubscriber - Creates a SnippetsProvider that Initializes\n *                         when the store has received the appropriate\n *                         Snippet data.\n *\n * @param  {obj} store   The redux store\n * @return {obj}         Returns the snippets instance and unsubscribe function\n */\nexport function addSnippetsSubscriber(store) {\n  const snippets = new SnippetsProvider(store.dispatch);\n\n  let initializing = false;\n\n  store.subscribe(async () => {\n    const state = store.getState();\n    // state.Prefs.values[\"feeds.snippets\"]:  Should snippets be shown?\n    // state.Snippets.initialized             Is the snippets data initialized?\n    // snippets.initialized:                  Is SnippetsProvider currently initialised?\n    if (state.Prefs.values[\"feeds.snippets\"] &&\n      // If the message center experiment is enabled, don't show snippets\n      !state.Prefs.values.asrouterExperimentEnabled &&\n      !state.Prefs.values.disableSnippets &&\n      state.Snippets.initialized &&\n      !snippets.initialized &&\n      // Don't call init multiple times\n      !initializing\n    ) {\n      initializing = true;\n      await snippets.init({appData: state.Snippets});\n      initializing = false;\n    } else if (\n      (state.Prefs.values[\"feeds.snippets\"] === false ||\n        state.Prefs.values.disableSnippets === true) &&\n      snippets.initialized\n    ) {\n      snippets.uninit();\n    }\n\n    if (state.Prefs.values.asrouterExperimentEnabled) {\n      initASRouter();\n    }\n  });\n\n  // These values are returned for testing purposes\n  return snippets;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/snippets.js","module.exports = Redux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Redux\"\n// module id = 21\n// module chunks = 0","import React from \"react\";\n\nexport const VISIBLE = \"visible\";\nexport const VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\n/**\n * Component wrapper used to send telemetry pings on every impression.\n */\nexport class ImpressionsWrapper extends React.PureComponent {\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionOrAddListener() {\n    if (this.props.document.visibilityState === VISIBLE) {\n      this.props.sendImpression();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (this.props.document.visibilityState === VISIBLE) {\n          this.props.sendImpression();\n          this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    if (this.props.sendOnMount) {\n      this.sendImpressionOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.props.shouldSendImpressionOnUpdate(this.props, prevProps)) {\n      this.sendImpressionOrAddListener();\n    }\n  }\n\n  render() {\n    return this.props.children;\n  }\n}\n\nImpressionsWrapper.defaultProps = {\n  document: global.document,\n  sendOnMount: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/ImpressionsWrapper/ImpressionsWrapper.jsx","export function safeURI(url) {\n  if (!url) {\n    return \"\";\n  }\n  const {protocol} = new URL(url);\n  const isAllowed = [\n    \"http:\",\n    \"https:\",\n    \"data:\",\n    \"resource:\",\n    \"chrome:\"\n  ].includes(protocol);\n  if (!isAllowed) {\n    console.warn(`The protocol ${protocol} is not allowed for template URLs.`); // eslint-disable-line no-console\n  }\n  return isAllowed ? url : \"\";\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/template-utils.js","import React from \"react\";\nimport {safeURI} from \"../../template-utils\";\n\nexport const Button = props => (<a href={safeURI(props.url)}\n  onClick={props.onClick}\n  className=\"ASRouterButton\">\n  {props.children}\n</a>);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/Button/Button.jsx","import React from \"react\";\n\nexport class SnippetBase extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBlockClicked = this.onBlockClicked.bind(this);\n  }\n\n  onBlockClicked() {\n    this.props.sendUserActionTelemetry({event: \"BLOCK\"});\n    this.props.onBlock();\n  }\n\n  render() {\n    const {props} = this;\n\n    const containerClassName = `SnippetBaseContainer${props.className ? ` ${props.className}` : \"\"}`;\n\n    return (<div className={containerClassName}>\n      <div className=\"innerWrapper\">\n        {props.children}\n      </div>\n      <button className=\"blockButton\" onClick={this.onBlockClicked} />\n    </div>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/SnippetBase/SnippetBase.jsx","import {Button} from \"../../components/Button/Button\";\nimport React from \"react\";\nimport {safeURI} from \"../../template-utils\";\nimport {SnippetBase} from \"../../components/SnippetBase/SnippetBase\";\n\nconst DEFAULT_ICON_PATH = \"chrome://branding/content/icon64.png\";\n\nexport class SimpleSnippet extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onButtonClick = this.onButtonClick.bind(this);\n  }\n\n  onButtonClick() {\n    this.props.sendUserActionTelemetry({event: \"CLICK_BUTTON\"});\n  }\n\n  render() {\n    const {props} = this;\n    return (<SnippetBase {...props} className=\"SimpleSnippet\">\n      <img src={safeURI(props.content.icon) || DEFAULT_ICON_PATH} className=\"icon\" />\n      <div>\n        {props.content.title ? <h3 className=\"title\">{props.content.title}</h3> : null} <p className=\"body\">{props.content.text}</p>\n      </div>\n      {props.content.button_url ? <div><Button onClick={this.onButtonClick} url={props.content.button_url}>{props.content.button_label}</Button></div> : null}\n    </SnippetBase>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addLocaleData, injectIntl, IntlProvider} from \"react-intl\";\nimport {ASRouterAdmin} from \"content-src/components/ASRouterAdmin/ASRouterAdmin\";\nimport {ConfirmDialog} from \"content-src/components/ConfirmDialog/ConfirmDialog\";\nimport {connect} from \"react-redux\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport {ManualMigration} from \"content-src/components/ManualMigration/ManualMigration\";\nimport {PrerenderData} from \"common/PrerenderData.jsm\";\nimport React from \"react\";\nimport {Search} from \"content-src/components/Search/Search\";\nimport {Sections} from \"content-src/components/Sections/Sections\";\n\nconst PrefsButton = injectIntl(props => (\n  <div className=\"prefs-button\">\n    <button className=\"icon icon-settings\" onClick={props.onClick} title={props.intl.formatMessage({id: \"settings_pane_button_label\"})} />\n  </div>\n));\n\n// Add the locale data for pluralization and relative-time formatting for now,\n// this just uses english locale data. We can make this more sophisticated if\n// more features are needed.\nfunction addLocaleDataForReactIntl(locale) {\n  addLocaleData([{locale, parentLocale: \"en\"}]);\n}\n\nexport class _Base extends React.PureComponent {\n  componentWillMount() {\n    const {App, locale, Theme} = this.props;\n    if (Theme.className) {\n      this.updateTheme(Theme);\n    }\n    this.sendNewTabRehydrated(App);\n    addLocaleDataForReactIntl(locale);\n  }\n\n  componentDidMount() {\n    // Request state AFTER the first render to ensure we don't cause the\n    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is\n    // dispatched right after the store is ready.\n    if (this.props.isPrerendered) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n      this.props.dispatch(ac.AlsoToMain({type: at.PAGE_PRERENDERED}));\n    }\n  }\n\n  componentWillUnmount() {\n    this.updateTheme({className: \"\"});\n  }\n\n  componentWillUpdate({App, Theme}) {\n    this.updateTheme(Theme);\n    this.sendNewTabRehydrated(App);\n  }\n\n  updateTheme(Theme) {\n    const bodyClassName = [\n      \"activity-stream\",\n      Theme.className\n    ].filter(v => v).join(\" \");\n    global.document.body.className = bodyClassName;\n  }\n\n  // The NEW_TAB_REHYDRATED event is used to inform feeds that their\n  // data has been consumed e.g. for counting the number of tabs that\n  // have rendered that data.\n  sendNewTabRehydrated(App) {\n    if (App && App.initialized && !this.renderNotified) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_REHYDRATED, data: {}}));\n      this.renderNotified = true;\n    }\n  }\n\n  render() {\n    const {props} = this;\n    const {App, locale, strings} = props;\n    const {initialized} = App;\n\n    if (props.Prefs.values.asrouterExperimentEnabled && window.location.hash === \"#asrouter\") {\n      return (<ASRouterAdmin />);\n    }\n\n    if (!props.isPrerendered && !initialized) {\n      return null;\n    }\n\n    return (<IntlProvider locale={locale} messages={strings}>\n        <ErrorBoundary className=\"base-content-fallback\">\n          <BaseContent {...this.props} />\n        </ErrorBoundary>\n      </IntlProvider>);\n  }\n}\n\nexport class BaseContent extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.openPreferences = this.openPreferences.bind(this);\n  }\n\n  openPreferences() {\n    this.props.dispatch(ac.OnlyToMain({type: at.SETTINGS_OPEN}));\n    this.props.dispatch(ac.UserEvent({event: \"OPEN_NEWTAB_PREFS\"}));\n  }\n\n  render() {\n    const {props} = this;\n    const {App} = props;\n    const {initialized} = App;\n    const prefs = props.Prefs.values;\n\n    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);\n\n    const outerClassName = [\n      \"outer-wrapper\",\n      shouldBeFixedToTop && \"fixed-to-top\"\n    ].filter(v => v).join(\" \");\n\n    return (\n        <div className={outerClassName}>\n          <main>\n            {prefs.showSearch &&\n              <div className=\"non-collapsible-section\">\n                <ErrorBoundary>\n                  <Search />\n                </ErrorBoundary>\n              </div>\n            }\n            <div className={`body-wrapper${(initialized ? \" on\" : \"\")}`}>\n              {!prefs.migrationExpired &&\n                <div className=\"non-collapsible-section\">\n                  <ManualMigration />\n                </div>\n                }\n              <Sections />\n              <PrefsButton onClick={this.openPreferences} />\n            </div>\n            <ConfirmDialog />\n          </main>\n        </div>);\n  }\n}\n\nexport const Base = connect(state => ({App: state.App, Prefs: state.Prefs, Theme: state.Theme}))(_Base);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Base/Base.jsx","import {ASRouterUtils} from \"../../asrouter/asrouter-content\";\nimport React from \"react\";\n\nexport class ASRouterAdmin extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMessage = this.onMessage.bind(this);\n    this.state = {};\n  }\n\n  onMessage({data: action}) {\n    if (action.type === \"ADMIN_SET_STATE\") {\n      this.setState(action.data);\n    }\n  }\n\n  componentWillMount() {\n    ASRouterUtils.sendMessage({type: \"ADMIN_CONNECT_STATE\"});\n    ASRouterUtils.addListener(this.onMessage);\n  }\n\n  componentWillUnmount() {\n    ASRouterUtils.removeListener(this.onMessage);\n  }\n\n  handleBlock(id) {\n    return () => ASRouterUtils.blockById(id);\n  }\n\n  handleUnblock(id) {\n    return () => ASRouterUtils.unblockById(id);\n  }\n\n  handleOverride(id) {\n    return () => ASRouterUtils.overrideMessage(id);\n  }\n\n  renderMessageItem(msg) {\n    const isCurrent = msg.id === this.state.currentId;\n    const isBlocked = this.state.blockList.includes(msg.id);\n\n    let itemClassName = \"message-item\";\n    if (isCurrent) { itemClassName += \" current\"; }\n    if (isBlocked) { itemClassName += \" blocked\"; }\n\n    return (<tr className={itemClassName} key={msg.id}>\n      <td className=\"message-id\"><span>{msg.id}</span></td>\n      <td>\n        <button className={`button ${(isBlocked ? \"\" : \" primary\")}`} onClick={isBlocked ? this.handleUnblock(msg.id) : this.handleBlock(msg.id)}>{isBlocked ? \"Unblock\" : \"Block\"}</button>\n       {isBlocked ? null : <button className=\"button\" onClick={this.handleOverride(msg.id)}>Show</button>}\n      </td>\n      <td className=\"message-summary\">\n        <pre>{JSON.stringify(msg, null, 2)}</pre>\n      </td>\n    </tr>);\n  }\n\n  renderMessages() {\n    if (!this.state.messages) {\n      return null;\n    }\n    return (<table><tbody>\n      {this.state.messages.map(msg => this.renderMessageItem(msg))}\n    </tbody></table>);\n  }\n\n  renderProviders() {\n    return (<table><tbody>\n      {this.state.providers.map((provider, i) => (<tr className=\"message-item\" key={i}>\n        <td>{provider.id}</td>\n        <td>{provider.type === \"remote\" ? <a target=\"_blank\" href={provider.url}>{provider.url}</a> : \"(local)\"}</td>\n      </tr>))}\n    </tbody></table>);\n  }\n\n  render() {\n    return (<div className=\"asrouter-admin outer-wrapper\">\n      <h1>AS Router Admin</h1>\n      <button className=\"button primary\" onClick={ASRouterUtils.getNextMessage}>Refresh Current Message</button>\n      <h2>Message Providers</h2>\n      {this.state.providers ? this.renderProviders() : null}\n      <h2>Messages</h2>\n      {this.renderMessages()}\n    </div>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx","import {actionCreators as ac, actionTypes} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * ConfirmDialog component.\n * One primary action button, one cancel button.\n *\n * Content displayed is controlled by `data` prop the component receives.\n * Example:\n * data: {\n *   // Any sort of data needed to be passed around by actions.\n *   payload: site.url,\n *   // Primary button AlsoToMain action.\n *   action: \"DELETE_HISTORY_URL\",\n *   // Primary button USerEvent action.\n *   userEvent: \"DELETE\",\n *   // Array of locale ids to display.\n *   message_body: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n *   // Text for primary button.\n *   confirm_button_string_id: \"menu_action_delete\"\n * },\n */\nexport class _ConfirmDialog extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this._handleCancelBtn = this._handleCancelBtn.bind(this);\n    this._handleConfirmBtn = this._handleConfirmBtn.bind(this);\n  }\n\n  _handleCancelBtn() {\n    this.props.dispatch({type: actionTypes.DIALOG_CANCEL});\n    this.props.dispatch(ac.UserEvent({event: actionTypes.DIALOG_CANCEL, source: this.props.data.eventSource}));\n  }\n\n  _handleConfirmBtn() {\n    this.props.data.onConfirm.forEach(this.props.dispatch);\n  }\n\n  _renderModalMessage() {\n    const message_body = this.props.data.body_string_id;\n\n    if (!message_body) {\n      return null;\n    }\n\n    return (<span>\n      {message_body.map(msg => <p key={msg}><FormattedMessage id={msg} /></p>)}\n    </span>);\n  }\n\n  render() {\n    if (!this.props.visible) {\n      return null;\n    }\n\n    return (<div className=\"confirmation-dialog\">\n      <div className=\"modal-overlay\" onClick={this._handleCancelBtn} />\n      <div className=\"modal\">\n        <section className=\"modal-message\">\n          {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />}\n          {this._renderModalMessage()}\n        </section>\n        <section className=\"actions\">\n          <button onClick={this._handleCancelBtn}>\n            <FormattedMessage id={this.props.data.cancel_button_string_id} />\n          </button>\n          <button className=\"done\" onClick={this._handleConfirmBtn}>\n            <FormattedMessage id={this.props.data.confirm_button_string_id} />\n          </button>\n        </section>\n      </div>\n    </div>);\n  }\n}\n\nexport const ConfirmDialog = connect(state => state.Dialog)(_ConfirmDialog);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * Manual migration component used to start the profile import wizard.\n * Message is presented temporarily and will go away if:\n * 1.  User clicks \"No Thanks\"\n * 2.  User completed the data import\n * 3.  After 3 active days\n * 4.  User clicks \"Cancel\" on the import wizard (currently not implemented).\n */\nexport class _ManualMigration extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onLaunchTour = this.onLaunchTour.bind(this);\n    this.onCancelTour = this.onCancelTour.bind(this);\n  }\n\n  onLaunchTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_START}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_START}));\n  }\n\n  onCancelTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_CANCEL}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_CANCEL}));\n  }\n\n  render() {\n    return (<div className=\"manual-migration-container\">\n        <p>\n          <span className=\"icon icon-import\" />\n          <FormattedMessage id=\"manual_migration_explanation2\" />\n        </p>\n        <div className=\"manual-migration-actions actions\">\n          <button className=\"dismiss\" onClick={this.onCancelTour}>\n            <FormattedMessage id=\"manual_migration_cancel_button\" />\n          </button>\n          <button onClick={this.onLaunchTour}>\n            <FormattedMessage id=\"manual_migration_import_button\" />\n          </button>\n        </div>\n    </div>);\n  }\n}\n\nexport const ManualMigration = connect()(_ManualMigration);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","class _PrerenderData {\n  constructor(options) {\n    this.initialPrefs = options.initialPrefs;\n    this.initialSections = options.initialSections;\n    this._setValidation(options.validation);\n  }\n\n  get validation() {\n    return this._validation;\n  }\n\n  set validation(value) {\n    this._setValidation(value);\n  }\n\n  get invalidatingPrefs() {\n    return this._invalidatingPrefs;\n  }\n\n    // This is needed so we can use it in the constructor\n  _setValidation(value = []) {\n    this._validation = value;\n    this._invalidatingPrefs = value.reduce((result, next) => {\n      if (typeof next === \"string\") {\n        result.push(next);\n        return result;\n      } else if (next && next.oneOf) {\n        return result.concat(next.oneOf);\n      } else if (next && next.indexedDB) {\n        return result.concat(next.indexedDB);\n      }\n      throw new Error(\"Your validation configuration is not properly configured\");\n    }, []);\n  }\n\n  arePrefsValid(getPref, indexedDBPrefs) {\n    for (const prefs of this.validation) {\n      // {oneOf: [\"foo\", \"bar\"]}\n      if (prefs && prefs.oneOf && !prefs.oneOf.some(name => getPref(name) === this.initialPrefs[name])) {\n        return false;\n\n        // {indexedDB: [\"foo\", \"bar\"]}\n      } else if (indexedDBPrefs && prefs && prefs.indexedDB) {\n        const anyModifiedPrefs = prefs.indexedDB.some(prefName => indexedDBPrefs.some(pref => pref && pref[prefName]));\n        if (anyModifiedPrefs) {\n          return false;\n        }\n        // \"foo\"\n      } else if (getPref(prefs) !== this.initialPrefs[prefs]) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nthis.PrerenderData = new _PrerenderData({\n  initialPrefs: {\n    \"migrationExpired\": true,\n    \"feeds.topsites\": true,\n    \"showSearch\": true,\n    \"topSitesRows\": 1,\n    \"feeds.section.topstories\": true,\n    \"feeds.section.highlights\": true,\n    \"sectionOrder\": \"topsites,topstories,highlights\",\n    \"collapsed\": false\n  },\n  // Prefs listed as invalidating will prevent the prerendered version\n  // of AS from being used if their value is something other than what is listed\n  // here. This is required because some preferences cause the page layout to be\n  // too different for the prerendered version to be used. Unfortunately, this\n  // will result in users who have modified some of their preferences not being\n  // able to get the benefits of prerendering.\n  validation: [\n    \"feeds.topsites\",\n    \"showSearch\",\n    \"topSitesRows\",\n    \"sectionOrder\",\n    // This means if either of these are set to their default values,\n    // prerendering can be used.\n    {oneOf: [\"feeds.section.topstories\", \"feeds.section.highlights\"]},\n    // If any component has the following preference set to `true` it will\n    // invalidate the prerendered version.\n    {indexedDB: [\"collapsed\"]}\n  ],\n  initialSections: [\n    {\n      enabled: true,\n      icon: \"pocket\",\n      id: \"topstories\",\n      order: 1,\n      title: {id: \"header_recommended_by\", values: {provider: \"Pocket\"}}\n    },\n    {\n      enabled: true,\n      id: \"highlights\",\n      icon: \"highlights\",\n      order: 2,\n      title: {id: \"header_highlights\"}\n    }\n  ]\n});\n\nthis._PrerenderData = _PrerenderData;\nconst EXPORTED_SYMBOLS = [\"PrerenderData\", \"_PrerenderData\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PrerenderData.jsm","/* globals ContentSearchUIController */\n\"use strict\";\n\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {IS_NEWTAB} from \"content-src/lib/constants\";\nimport React from \"react\";\n\nexport class _Search extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onInputMount = this.onInputMount.bind(this);\n  }\n\n  handleEvent(event) {\n    // Also track search events with our own telemetry\n    if (event.detail.type === \"Search\") {\n      this.props.dispatch(ac.UserEvent({event: \"SEARCH\"}));\n    }\n  }\n\n  onClick(event) {\n    window.gContentSearchController.search(event);\n  }\n\n  componentWillUnmount() {\n    delete window.gContentSearchController;\n  }\n\n  onInputMount(input) {\n    if (input) {\n      // The \"healthReportKey\" and needs to be \"newtab\" or \"abouthome\" so that\n      // BrowserUsageTelemetry.jsm knows to handle events with this name, and\n      // can add the appropriate telemetry probes for search. Without the correct\n      // name, certain tests like browser_UsageTelemetry_content.js will fail\n      // (See github ticket #2348 for more details)\n      const healthReportKey = IS_NEWTAB ? \"newtab\" : \"abouthome\";\n\n      // The \"searchSource\" needs to be \"newtab\" or \"homepage\" and is sent with\n      // the search data and acts as context for the search request (See\n      // nsISearchEngine.getSubmission). It is necessary so that search engine\n      // plugins can correctly atribute referrals. (See github ticket #3321 for\n      // more details)\n      const searchSource = IS_NEWTAB ? \"newtab\" : \"homepage\";\n\n      // gContentSearchController needs to exist as a global so that tests for\n      // the existing about:home can find it; and so it allows these tests to pass.\n      // In the future, when activity stream is default about:home, this can be renamed\n      window.gContentSearchController = new ContentSearchUIController(input, input.parentNode,\n        healthReportKey, searchSource);\n      addEventListener(\"ContentSearchClient\", this);\n    } else {\n      window.gContentSearchController = null;\n      removeEventListener(\"ContentSearchClient\", this);\n    }\n  }\n\n  /*\n   * Do not change the ID on the input field, as legacy newtab code\n   * specifically looks for the id 'newtab-search-text' on input fields\n   * in order to execute searches in various tests\n   */\n  render() {\n    return (<div className=\"search-wrapper\">\n      <label htmlFor=\"newtab-search-text\" className=\"search-label\">\n        <span className=\"sr-only\"><FormattedMessage id=\"search_web_placeholder\" /></span>\n      </label>\n      <input\n        id=\"newtab-search-text\"\n        maxLength=\"256\"\n        placeholder={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        ref={this.onInputMount}\n        title={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        type=\"search\" />\n      <button\n        id=\"searchSubmit\"\n        className=\"search-button\"\n        onClick={this.onClick}\n        title={this.props.intl.formatMessage({id: \"search_button\"})}>\n        <span className=\"sr-only\"><FormattedMessage id=\"search_button\" /></span>\n      </button>\n    </div>);\n  }\n}\n\nexport const Search = connect()(injectIntl(_Search));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Search/Search.jsx","export const IS_NEWTAB = global.document && global.document.documentURI === \"about:newtab\";\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/constants.js","import {Card, PlaceholderCard} from \"content-src/components/Card/Card\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\nimport {Topics} from \"content-src/components/Topics/Topics\";\nimport {TopSites} from \"content-src/components/TopSites/TopSites\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\nconst CARDS_PER_ROW = 3;\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Section extends React.PureComponent {\n  _dispatchImpressionStats() {\n    const {props} = this;\n    const maxCards = 3 * props.maxRows;\n    const cards = props.rows.slice(0, maxCards);\n\n    if (this.needsImpressionStats(cards)) {\n      props.dispatch(ac.ImpressionStats({\n        source: props.eventSource,\n        tiles: cards.map(link => ({id: link.guid}))\n      }));\n      this.impressionCardGuids = cards.map(link => link.guid);\n    }\n  }\n\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionStatsOrAddListener() {\n    const {props} = this;\n\n    if (!props.shouldSendImpressionStats || !props.dispatch) {\n      return;\n    }\n\n    if (props.document.visibilityState === VISIBLE) {\n      this._dispatchImpressionStats();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (props.document.visibilityState === VISIBLE) {\n          if (!this.props.pref.collapsed) {\n            this._dispatchImpressionStats();\n          }\n          props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    if (this.props.rows.length && !this.props.pref.collapsed) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    const {props} = this;\n    const isCollapsed = props.pref.collapsed;\n    const wasCollapsed = prevProps.pref.collapsed;\n    if (\n      // Don't send impression stats for the empty state\n      props.rows.length &&\n      (\n        // We only want to send impression stats if the content of the cards has changed\n        // and the section is not collapsed...\n        (props.rows !== prevProps.rows && !isCollapsed) ||\n        // or if we are expanding a section that was collapsed.\n        (wasCollapsed && !isCollapsed)\n      )\n    ) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  needsImpressionStats(cards) {\n    if (!this.impressionCardGuids || (this.impressionCardGuids.length !== cards.length)) {\n      return true;\n    }\n\n    for (let i = 0; i < cards.length; i++) {\n      if (cards[i].guid !== this.impressionCardGuids[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  numberOfPlaceholders(items) {\n    if (items === 0) {\n      return CARDS_PER_ROW;\n    }\n    const remainder = items % CARDS_PER_ROW;\n    if (remainder === 0) {\n      return 0;\n    }\n    return CARDS_PER_ROW - remainder;\n  }\n\n  render() {\n    const {\n      id, eventSource, title, icon, rows,\n      emptyState, dispatch, maxRows,\n      contextMenuOptions, initialized, disclaimer,\n      pref, privacyNoticeURL, isFirst, isLast\n    } = this.props;\n    const maxCards = CARDS_PER_ROW * maxRows;\n\n    // Show topics only for top stories and if it's not initialized yet (so\n    // content doesn't shift when it is loaded) or has loaded with topics\n    const shouldShowTopics = (id === \"topstories\" &&\n      (!this.props.topics || this.props.topics.length > 0));\n\n    const realRows = rows.slice(0, maxCards);\n    const placeholders = this.numberOfPlaceholders(realRows.length);\n\n    // The empty state should only be shown after we have initialized and there is no content.\n    // Otherwise, we should show placeholders.\n    const shouldShowEmptyState = initialized && !rows.length;\n\n    // <Section> <-- React component\n    // <section> <-- HTML5 element\n    return (<ComponentPerfTimer {...this.props}>\n      <CollapsibleSection className=\"section\" icon={icon}\n        title={title}\n        id={id}\n        eventSource={eventSource}\n        disclaimer={disclaimer}\n        collapsed={this.props.pref.collapsed}\n        showPrefName={(pref && pref.feed) || id}\n        privacyNoticeURL={privacyNoticeURL}\n        Prefs={this.props.Prefs}\n        isFirst={isFirst}\n        isLast={isLast}\n        dispatch={this.props.dispatch}>\n\n        {!shouldShowEmptyState && (<ul className=\"section-list\" style={{padding: 0}}>\n          {realRows.map((link, index) => link &&\n            <Card key={index} index={index} dispatch={dispatch} link={link} contextMenuOptions={contextMenuOptions}\n              eventSource={eventSource} shouldSendImpressionStats={this.props.shouldSendImpressionStats} isWebExtension={this.props.isWebExtension} />)}\n          {placeholders > 0 && [...new Array(placeholders)].map((_, i) => <PlaceholderCard key={i} />)}\n        </ul>)}\n        {shouldShowEmptyState &&\n          <div className=\"section-empty-state\">\n            <div className=\"empty-state\">\n              {emptyState.icon && emptyState.icon.startsWith(\"moz-extension://\") ?\n                <img className=\"empty-state-icon icon\" style={{\"background-image\": `url('${emptyState.icon}')`}} /> :\n                <img className={`empty-state-icon icon icon-${emptyState.icon}`} />}\n              <p className=\"empty-state-message\">\n                {getFormattedMessage(emptyState.message)}\n              </p>\n            </div>\n          </div>}\n        {shouldShowTopics && <Topics topics={this.props.topics} read_more_endpoint={this.props.read_more_endpoint} />}\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nSection.defaultProps = {\n  document: global.document,\n  rows: [],\n  emptyState: {},\n  pref: {},\n  title: \"\"\n};\n\nexport const SectionIntl = connect(state => ({Prefs: state.Prefs}))(injectIntl(Section));\n\nexport class _Sections extends React.PureComponent {\n  renderSections() {\n    const sections = [];\n    const enabledSections = this.props.Sections.filter(section => section.enabled);\n    const {sectionOrder, \"feeds.topsites\": showTopSites} = this.props.Prefs.values;\n    // Enabled sections doesn't include Top Sites, so we add it if enabled.\n    const expectedCount = enabledSections.length + ~~showTopSites;\n\n    for (const sectionId of sectionOrder.split(\",\")) {\n      const commonProps = {\n        key: sectionId,\n        isFirst: sections.length === 0,\n        isLast: sections.length === expectedCount - 1\n      };\n      if (sectionId === \"topsites\" && showTopSites) {\n        sections.push(<TopSites {...commonProps} />);\n      } else {\n        const section = enabledSections.find(s => s.id === sectionId);\n        if (section) {\n          sections.push(<SectionIntl {...section} {...commonProps} />);\n        }\n      }\n    }\n    return sections;\n  }\n\n  render() {\n    return (\n      <div className=\"sections-list\">\n        {this.renderSections()}\n      </div>\n    );\n  }\n}\n\nexport const Sections = connect(state => ({Sections: state.Sections, Prefs: state.Prefs}))(_Sections);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Sections/Sections.jsx","export const cardContextTypes = {\n  history: {\n    intlID: \"type_label_visited\",\n    icon: \"historyItem\"\n  },\n  bookmark: {\n    intlID: \"type_label_bookmarked\",\n    icon: \"bookmark-added\"\n  },\n  trending: {\n    intlID: \"type_label_recommended\",\n    icon: \"trending\"\n  },\n  now: {\n    intlID: \"type_label_now\",\n    icon: \"now\"\n  },\n  pocket: {\n    intlID: \"type_label_pocket\",\n    icon: \"pocket\"\n  },\n  download: {\n    intlID: \"type_label_downloaded\",\n    icon: \"download\"\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/types.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {cardContextTypes} from \"./types\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport {GetPlatformString} from \"content-src/lib/link-menu-options\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\n\n// Keep track of pending image loads to only request once\nconst gImageLoading = new Map();\n\n/**\n * Card component.\n * Cards are found within a Section component and contain information about a link such\n * as preview image, page title, page description, and some context about if the page\n * was visited, bookmarked, trending etc...\n * Each Section can make an unordered list of Cards which will create one instane of\n * this class. Each card will then get a context menu which reflects the actions that\n * can be done on this Card.\n */\nexport class _Card extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {\n      activeCard: null,\n      imageLoaded: false,\n      showContextMenu: false\n    };\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.onLinkClick = this.onLinkClick.bind(this);\n  }\n\n  /**\n   * Helper to conditionally load an image and update state when it loads.\n   */\n  async maybeLoadImage() {\n    // No need to load if it's already loaded or no image\n    const {image} = this.props.link;\n    if (!this.state.imageLoaded && image) {\n      // Initialize a promise to share a load across multiple card updates\n      if (!gImageLoading.has(image)) {\n        const loaderPromise = new Promise((resolve, reject) => {\n          const loader = new Image();\n          loader.addEventListener(\"load\", resolve);\n          loader.addEventListener(\"error\", reject);\n          loader.src = image;\n        });\n\n        // Save and remove the promise only while it's pending\n        gImageLoading.set(image, loaderPromise);\n        loaderPromise.catch(ex => ex).then(() => gImageLoading.delete(image)).catch();\n      }\n\n      // Wait for the image whether just started loading or reused promise\n      await gImageLoading.get(image);\n\n      // Only update state if we're still waiting to load the original image\n      if (this.props.link.image === image && !this.state.imageLoaded) {\n        this.setState({imageLoaded: true});\n      }\n    }\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({\n      activeCard: this.props.index,\n      showContextMenu: true\n    });\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    // Filter out \"history\" type for being the default\n    if (this.props.link.type !== \"history\") {\n      return {value: {card_type: this.props.link.type}};\n    }\n\n    return null;\n  }\n\n  onLinkClick(event) {\n    event.preventDefault();\n    if (this.props.link.type === \"download\") {\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SHOW_DOWNLOAD_FILE,\n        data: this.props.link\n      }));\n    } else {\n      const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.OPEN_LINK,\n        data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n      }));\n    }\n    if (this.props.isWebExtension) {\n      this.props.dispatch(ac.WebExtEvent(at.WEBEXT_CLICK, {\n        source: this.props.eventSource,\n        url: this.props.link.url,\n        action_position: this.props.index\n      }));\n    } else {\n      this.props.dispatch(ac.UserEvent(Object.assign({\n        event: \"CLICK\",\n        source: this.props.eventSource,\n        action_position: this.props.index\n      }, this._getTelemetryInfo())));\n\n      if (this.props.shouldSendImpressionStats) {\n        this.props.dispatch(ac.ImpressionStats({\n          source: this.props.eventSource,\n          click: 0,\n          tiles: [{id: this.props.link.guid, pos: this.props.index}]\n        }));\n      }\n    }\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  componentDidMount() {\n    this.maybeLoadImage();\n  }\n\n  componentDidUpdate() {\n    this.maybeLoadImage();\n  }\n\n  componentWillReceiveProps(nextProps) {\n    // Clear the image state if changing images\n    if (nextProps.link.image !== this.props.link.image) {\n      this.setState({imageLoaded: false});\n    }\n  }\n\n  render() {\n    const {index, link, dispatch, contextMenuOptions, eventSource, shouldSendImpressionStats} = this.props;\n    const {props} = this;\n    const isContextMenuOpen = this.state.showContextMenu && this.state.activeCard === index;\n    // Display \"now\" as \"trending\" until we have new strings #3402\n    const {icon, intlID} = cardContextTypes[link.type === \"now\" ? \"trending\" : link.type] || {};\n    const hasImage = link.image || link.hasImage;\n    const imageStyle = {backgroundImage: link.image ? `url(${link.image})` : \"none\"};\n\n    return (<li className={`card-outer${isContextMenuOpen ? \" active\" : \"\"}${props.placeholder ? \" placeholder\" : \"\"}`}>\n      <a href={link.type === \"pocket\" ? link.open_url : link.url} onClick={!props.placeholder ? this.onLinkClick : undefined}>\n        <div className=\"card\">\n          {hasImage && <div className=\"card-preview-image-outer\">\n            <div className={`card-preview-image${this.state.imageLoaded ? \" loaded\" : \"\"}`} style={imageStyle} />\n          </div>}\n          <div className={`card-details${hasImage ? \"\" : \" no-image\"}`}>\n            {link.type === \"download\" && <div className=\"card-download-icon icon icon-download-folder\" />}\n            {link.type === \"download\" && <div className=\"card-host-name alternate\"><FormattedMessage id={GetPlatformString(this.props.platform)} /></div>}\n            {link.hostname && <div className=\"card-host-name\">{link.hostname}</div>}\n            <div className={[\n              \"card-text\",\n              icon ? \"\" : \"no-context\",\n              link.description ? \"\" : \"no-description\",\n              link.hostname ? \"\" : \"no-host-name\",\n              hasImage ? \"\" : \"no-image\"\n            ].join(\" \")}>\n              <h4 className=\"card-title\" dir=\"auto\">{link.title}</h4>\n              <p className=\"card-description\" dir=\"auto\">{link.description}</p>\n            </div>\n            <div className=\"card-context\">\n              {icon && !link.context && <span className={`card-context-icon icon icon-${icon}`} />}\n              {link.icon && link.context && <span className=\"card-context-icon icon\" style={{backgroundImage: `url('${link.icon}')`}} />}\n              {intlID && !link.context && <div className=\"card-context-label\"><FormattedMessage id={intlID} defaultMessage=\"Visited\" /></div>}\n              {link.context && <div className=\"card-context-label\">{link.context}</div>}\n            </div>\n          </div>\n        </div>\n      </a>\n      {!props.placeholder && <button className=\"context-menu-button icon\"\n        onClick={this.onMenuButtonClick}>\n        <span className=\"sr-only\">{`Open context menu for ${link.title}`}</span>\n      </button>}\n      {isContextMenuOpen &&\n        <LinkMenu\n          dispatch={dispatch}\n          index={index}\n          source={eventSource}\n          onUpdate={this.onMenuUpdate}\n          options={link.contextMenuOptions || contextMenuOptions}\n          site={link}\n          siteInfo={this._getTelemetryInfo()}\n          shouldSendImpressionStats={shouldSendImpressionStats} />\n      }\n   </li>);\n  }\n}\n_Card.defaultProps = {link: {}};\nexport const Card = connect(state => ({platform: state.Prefs.values.platform}))(_Card);\nexport const PlaceholderCard = () => <Card placeholder={true} />;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/Card.jsx","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst DEFAULT_SECTION_MENU_OPTIONS = [\"MoveUp\", \"MoveDown\", \"Separator\", \"RemoveSection\", \"CheckCollapsed\", \"Separator\", \"ManageSection\"];\n\nexport class _SectionMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n\n    const propOptions = Array.from(DEFAULT_SECTION_MENU_OPTIONS);\n    // Prepend custom options and a separator\n    if (props.extraOptions) {\n      propOptions.splice(0, 0, ...props.extraOptions, \"Separator\");\n    }\n    // Insert privacy notice before the last option (\"ManageSection\")\n    if (props.privacyNoticeURL) {\n      propOptions.splice(-1, 0, \"PrivacyNotice\");\n    }\n\n    const options = propOptions.map(o => SectionMenuOptions[o](props)).map(option => {\n      const {action, id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            props.dispatch(ac.UserEvent({\n              event: userEvent,\n              source: props.source\n            }));\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nexport const SectionMenu = injectIntl(_SectionMenu);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class Topic extends React.PureComponent {\n  render() {\n    const {url, name} = this.props;\n    return (<li><a key={name} className=\"topic-link\" href={url}>{name}</a></li>);\n  }\n}\n\nexport class Topics extends React.PureComponent {\n  render() {\n    const {topics, read_more_endpoint} = this.props;\n    return (\n      <div className=\"topic\">\n        <span><FormattedMessage id=\"pocket_read_more\" /></span>\n        <ul>{topics && topics.map(t => <Topic key={t.name} url={t.url} name={t.name} />)}</ul>\n\n        {read_more_endpoint && <a className=\"topic-read-more\" href={read_more_endpoint}>\n          <FormattedMessage id=\"pocket_read_even_more\" />\n        </a>}\n      </div>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Topics/Topics.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {MIN_CORNER_FAVICON_SIZE, MIN_RICH_FAVICON_SIZE, TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\nimport {TopSiteForm} from \"./TopSiteForm\";\nimport {TopSiteList} from \"./TopSite\";\n\nfunction topSiteIconType(link) {\n  if (link.customScreenshotURL) {\n    return \"custom_screenshot\";\n  }\n  if (link.tippyTopIcon || link.faviconRef === \"tippytop\") {\n    return \"tippytop\";\n  }\n  if (link.faviconSize >= MIN_RICH_FAVICON_SIZE) {\n    return \"rich_icon\";\n  }\n  if (link.screenshot && link.faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n    return \"screenshot_with_icon\";\n  }\n  if (link.screenshot) {\n    return \"screenshot\";\n  }\n  return \"no_image\";\n}\n\n/**\n * Iterates through TopSites and counts types of images.\n * @param acc Accumulator for reducer.\n * @param topsite Entry in TopSites.\n */\nfunction countTopSitesIconsTypes(topSites) {\n  const countTopSitesTypes = (acc, link) => {\n    acc[topSiteIconType(link)]++;\n    return acc;\n  };\n\n  return topSites.reduce(countTopSitesTypes, {\n    \"custom_screenshot\": 0,\n    \"screenshot_with_icon\": 0,\n    \"screenshot\": 0,\n    \"tippytop\": 0,\n    \"rich_icon\": 0,\n    \"no_image\": 0\n  });\n}\n\nexport class _TopSites extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onFormClose = this.onFormClose.bind(this);\n  }\n\n  /**\n   * Dispatch session statistics about the quality of TopSites icons and pinned count.\n   */\n  _dispatchTopSitesStats() {\n    const topSites = this._getVisibleTopSites();\n    const topSitesIconsStats = countTopSitesIconsTypes(topSites);\n    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;\n    // Dispatch telemetry event with the count of TopSites images types.\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.SAVE_SESSION_PERF_DATA,\n      data: {topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned}\n    }));\n  }\n\n  /**\n   * Return the TopSites that are visible based on prefs and window width.\n   */\n  _getVisibleTopSites() {\n    // We hide 2 sites per row when not in the wide layout.\n    let sitesPerRow = TOP_SITES_MAX_SITES_PER_ROW;\n    // $break-point-widest = 1072px (from _variables.scss)\n    if (!global.matchMedia(`(min-width: 1072px)`).matches) {\n      sitesPerRow -= 2;\n    }\n    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * sitesPerRow);\n  }\n\n  componentDidUpdate() {\n    this._dispatchTopSitesStats();\n  }\n\n  componentDidMount() {\n    this._dispatchTopSitesStats();\n  }\n\n  onFormClose() {\n    this.props.dispatch(ac.UserEvent({\n      source: TOP_SITES_SOURCE,\n      event: \"TOP_SITES_EDIT_CLOSE\"\n    }));\n    this.props.dispatch({type: at.TOP_SITES_CANCEL_EDIT});\n  }\n\n  render() {\n    const {props} = this;\n    const {editForm} = props.TopSites;\n\n    return (<ComponentPerfTimer id=\"topsites\" initialized={props.TopSites.initialized} dispatch={props.dispatch}>\n      <CollapsibleSection\n        className=\"top-sites\"\n        icon=\"topsites\"\n        id=\"topsites\"\n        title={{id: \"header_top_sites\"}}\n        extraMenuOptions={[\"AddTopSite\"]}\n        showPrefName=\"feeds.topsites\"\n        eventSource={TOP_SITES_SOURCE}\n        collapsed={props.TopSites.pref ? props.TopSites.pref.collapsed : undefined}\n        isFirst={props.isFirst}\n        isLast={props.isLast}\n        dispatch={props.dispatch}>\n        <TopSiteList TopSites={props.TopSites} TopSitesRows={props.TopSitesRows} dispatch={props.dispatch} intl={props.intl} topSiteIconType={topSiteIconType} />\n        <div className=\"edit-topsites-wrapper\">\n          {editForm &&\n            <div className=\"edit-topsites\">\n              <div className=\"modal-overlay\" onClick={this.onFormClose} />\n              <div className=\"modal\">\n                <TopSiteForm\n                  site={props.TopSites.rows[editForm.index]}\n                  onClose={this.onFormClose}\n                  dispatch={this.props.dispatch}\n                  intl={this.props.intl}\n                  {...editForm} />\n              </div>\n            </div>\n          }\n        </div>\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nexport const TopSites = connect(state => ({\n  TopSites: state.TopSites,\n  Prefs: state.Prefs,\n  TopSitesRows: state.Prefs.values.topSitesRows\n}))(injectIntl(_TopSites));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSites.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class TopSiteFormInput extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {validationError: this.props.validationError};\n    this.onChange = this.onChange.bind(this);\n    this.onMount = this.onMount.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.shouldFocus && !this.props.shouldFocus) {\n      this.input.focus();\n    }\n    if (nextProps.validationError && !this.props.validationError) {\n      this.setState({validationError: true});\n    }\n    // If the component is in an error state but the value was cleared by the parent\n    if (this.state.validationError && !nextProps.value) {\n      this.setState({validationError: false});\n    }\n  }\n\n  onChange(ev) {\n    if (this.state.validationError) {\n      this.setState({validationError: false});\n    }\n    this.props.onChange(ev);\n  }\n\n  onMount(input) {\n    this.input = input;\n  }\n\n  render() {\n    const showClearButton = this.props.value && this.props.onClear;\n    const {typeUrl} = this.props;\n    const {validationError} = this.state;\n\n    return (<label><FormattedMessage id={this.props.titleId} />\n      <div className={`field ${typeUrl ? \"url\" : \"\"}${validationError ? \" invalid\" : \"\"}`}>\n        {this.props.loading ?\n          <div className=\"loading-container\"><div className=\"loading-animation\" /></div> :\n          showClearButton && <div className=\"icon icon-clear-input\" onClick={this.props.onClear} />}\n        <input type=\"text\"\n          value={this.props.value}\n          ref={this.onMount}\n          onChange={this.onChange}\n          placeholder={this.props.intl.formatMessage({id: this.props.placeholderId})}\n          autoFocus={this.props.shouldFocus}\n          disabled={this.props.loading} />\n        {validationError &&\n          <aside className=\"error-tooltip\">\n            <FormattedMessage id={this.props.errorMessageId} />\n          </aside>}\n      </div>\n    </label>);\n  }\n}\n\nTopSiteFormInput.defaultProps = {\n  showClearButton: false,\n  value: \"\",\n  validationError: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {TopSiteFormInput} from \"./TopSiteFormInput\";\nimport {TopSiteLink} from \"./TopSite\";\n\nexport class TopSiteForm extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    const {site} = props;\n    this.state = {\n      label: site ? (site.label || site.hostname) : \"\",\n      url: site ? site.url : \"\",\n      validationError: false,\n      customScreenshotUrl: site ? site.customScreenshotURL : \"\",\n      showCustomScreenshotForm: site ? site.customScreenshotURL : false\n    };\n    this.onClearScreenshotInput = this.onClearScreenshotInput.bind(this);\n    this.onLabelChange = this.onLabelChange.bind(this);\n    this.onUrlChange = this.onUrlChange.bind(this);\n    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);\n    this.onClearUrlClick = this.onClearUrlClick.bind(this);\n    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);\n    this.onCustomScreenshotUrlChange = this.onCustomScreenshotUrlChange.bind(this);\n    this.onPreviewButtonClick = this.onPreviewButtonClick.bind(this);\n    this.onEnableScreenshotUrlForm = this.onEnableScreenshotUrlForm.bind(this);\n    this.validateUrl = this.validateUrl.bind(this);\n  }\n\n  onLabelChange(event) {\n    this.setState({\"label\": event.target.value});\n  }\n\n  onUrlChange(event) {\n    this.setState({\n      url: event.target.value,\n      validationError: false\n    });\n  }\n\n  onClearUrlClick() {\n    this.setState({\n      url: \"\",\n      validationError: false\n    });\n  }\n\n  onEnableScreenshotUrlForm() {\n    this.setState({showCustomScreenshotForm: true});\n  }\n\n  _updateCustomScreenshotInput(customScreenshotUrl) {\n    this.setState({\n      customScreenshotUrl,\n      validationError: false\n    });\n    this.props.dispatch({type: at.PREVIEW_REQUEST_CANCEL});\n  }\n\n  onCustomScreenshotUrlChange(event) {\n    this._updateCustomScreenshotInput(event.target.value);\n  }\n\n  onClearScreenshotInput() {\n    this._updateCustomScreenshotInput(\"\");\n  }\n\n  onCancelButtonClick(ev) {\n    ev.preventDefault();\n    this.props.onClose();\n  }\n\n  onDoneButtonClick(ev) {\n    ev.preventDefault();\n\n    if (this.validateForm()) {\n      const site = {url: this.cleanUrl(this.state.url)};\n      const {index} = this.props;\n      if (this.state.label !== \"\") {\n        site.label = this.state.label;\n      }\n\n      if (this.state.customScreenshotUrl) {\n        site.customScreenshotURL = this.cleanUrl(this.state.customScreenshotUrl);\n      } else if (this.props.site && this.props.site.customScreenshotURL) {\n        // Used to flag that previously cached screenshot should be removed\n        site.customScreenshotURL = null;\n      }\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.TOP_SITES_PIN,\n        data: {site, index}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"TOP_SITES_EDIT\",\n        action_position: index\n      }));\n\n      this.props.onClose();\n    }\n  }\n\n  onPreviewButtonClick(event) {\n    event.preventDefault();\n    if (this.validateForm()) {\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.PREVIEW_REQUEST,\n        data: {url: this.cleanUrl(this.state.customScreenshotUrl)}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"PREVIEW_REQUEST\"\n      }));\n    }\n  }\n\n  cleanUrl(url) {\n    // If we are missing a protocol, prepend http://\n    if (!url.startsWith(\"http:\") && !url.startsWith(\"https:\")) {\n      return `http://${url}`;\n    }\n    return url;\n  }\n\n  _tryParseUrl(url) {\n    try {\n      return new URL(url);\n    } catch (e) {\n      return null;\n    }\n  }\n\n  validateUrl(url) {\n    const validProtocols = [\"http:\", \"https:\"];\n    const urlObj = this._tryParseUrl(url) || this._tryParseUrl(this.cleanUrl(url));\n\n    return urlObj && validProtocols.includes(urlObj.protocol);\n  }\n\n  validateCustomScreenshotUrl() {\n    const {customScreenshotUrl} = this.state;\n    return !customScreenshotUrl || this.validateUrl(customScreenshotUrl);\n  }\n\n  validateForm() {\n    const validate = this.validateUrl(this.state.url) && this.validateCustomScreenshotUrl();\n\n    if (!validate) {\n      this.setState({validationError: true});\n    }\n\n    return validate;\n  }\n\n  _renderCustomScreenshotInput() {\n    const {customScreenshotUrl} = this.state;\n    const requestFailed = this.props.previewResponse === \"\";\n    const validationError = (this.state.validationError && !this.validateCustomScreenshotUrl()) || requestFailed;\n    // Set focus on error if the url field is valid or when the input is first rendered and is empty\n    const shouldFocus = (validationError && this.validateUrl(this.state.url)) || !customScreenshotUrl;\n    const isLoading = this.props.previewResponse === null &&\n      customScreenshotUrl && this.props.previewUrl === this.cleanUrl(customScreenshotUrl);\n\n    if (!this.state.showCustomScreenshotForm) {\n      return (<a className=\"enable-custom-image-input\" onClick={this.onEnableScreenshotUrlForm}>\n        <FormattedMessage id=\"topsites_form_use_image_link\" />\n      </a>);\n    }\n    return (<div className=\"custom-image-input-container\">\n      <TopSiteFormInput\n        errorMessageId={requestFailed ? \"topsites_form_image_validation\" : \"topsites_form_url_validation\"}\n        loading={isLoading}\n        onChange={this.onCustomScreenshotUrlChange}\n        onClear={this.onClearScreenshotInput}\n        shouldFocus={shouldFocus}\n        typeUrl={true}\n        value={customScreenshotUrl}\n        validationError={validationError}\n        titleId=\"topsites_form_image_url_label\"\n        placeholderId=\"topsites_form_url_placeholder\"\n        intl={this.props.intl} />\n    </div>);\n  }\n\n  render() {\n    const {customScreenshotUrl} = this.state;\n    const requestFailed = this.props.previewResponse === \"\";\n    // For UI purposes, editing without an existing link is \"add\"\n    const showAsAdd = !this.props.site;\n    const previous = (this.props.site && this.props.site.customScreenshotURL) || \"\";\n    const changed = customScreenshotUrl && this.cleanUrl(customScreenshotUrl) !== previous;\n    // Preview mode if changes were made to the custom screenshot URL and no preview was received yet\n    // or the request failed\n    const previewMode = changed && !this.props.previewResponse;\n    const previewLink = Object.assign({}, this.props.site);\n    if (this.props.previewResponse) {\n      previewLink.screenshot = this.props.previewResponse;\n      previewLink.customScreenshotURL = this.props.previewUrl;\n    }\n    return (\n      <form className=\"topsite-form\">\n        <div className=\"form-input-container\">\n          <h3 className=\"section-title\">\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_header\" : \"topsites_form_edit_header\"} />\n          </h3>\n          <div className=\"fields-and-preview\">\n            <div className=\"form-wrapper\">\n              <TopSiteFormInput onChange={this.onLabelChange}\n                value={this.state.label}\n                titleId=\"topsites_form_title_label\"\n                placeholderId=\"topsites_form_title_placeholder\"\n                intl={this.props.intl} />\n              <TopSiteFormInput onChange={this.onUrlChange}\n                shouldFocus={this.state.validationError && !this.validateUrl(this.state.url)}\n                value={this.state.url}\n                onClear={this.onClearUrlClick}\n                validationError={this.state.validationError && !this.validateUrl(this.state.url)}\n                titleId=\"topsites_form_url_label\"\n                typeUrl={true}\n                placeholderId=\"topsites_form_url_placeholder\"\n                errorMessageId=\"topsites_form_url_validation\"\n                intl={this.props.intl} />\n              {this._renderCustomScreenshotInput()}\n            </div>\n            <TopSiteLink link={previewLink}\n              defaultStyle={requestFailed}\n              title={this.state.label} />\n          </div>\n        </div>\n        <section className=\"actions\">\n          <button className=\"cancel\" type=\"button\" onClick={this.onCancelButtonClick}>\n            <FormattedMessage id=\"topsites_form_cancel_button\" />\n          </button>\n          {previewMode ?\n            <button className=\"done preview\" type=\"submit\" onClick={this.onPreviewButtonClick}>\n              <FormattedMessage id=\"topsites_form_preview_button\" />\n            </button> :\n            <button className=\"done\" type=\"submit\" onClick={this.onDoneButtonClick}>\n              <FormattedMessage id={showAsAdd ? \"topsites_form_add_button\" : \"topsites_form_save_button\"} />\n            </button>}\n        </section>\n      </form>\n    );\n  }\n}\n\nTopSiteForm.defaultProps = {\n  site: null,\n  index: -1\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteForm.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nexport class DetectUserSessionStart {\n  constructor(store, options = {}) {\n    this._store = store;\n    // Overrides for testing\n    this.document = options.document || global.document;\n    this._perfService = options.perfService || perfSvc;\n    this._onVisibilityChange = this._onVisibilityChange.bind(this);\n  }\n\n  /**\n   * sendEventOrAddListener - Notify immediately if the page is already visible,\n   *                    or else set up a listener for when visibility changes.\n   *                    This is needed for accurate session tracking for telemetry,\n   *                    because tabs are pre-loaded.\n   */\n  sendEventOrAddListener() {\n    if (this.document.visibilityState === VISIBLE) {\n      // If the document is already visible, to the user, send a notification\n      // immediately that a session has started.\n      this._sendEvent();\n    } else {\n      // If the document is not visible, listen for when it does become visible.\n      this.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  /**\n   * _sendEvent - Sends a message to the main process to indicate the current\n   *              tab is now visible to the user, includes the\n   *              visibility_event_rcvd_ts time in ms from the UNIX epoch.\n   */\n  _sendEvent() {\n    this._perfService.mark(\"visibility_event_rcvd_ts\");\n\n    try {\n      let visibility_event_rcvd_ts = this._perfService\n        .getMostRecentAbsMarkStartByName(\"visibility_event_rcvd_ts\");\n\n      this._store.dispatch(ac.AlsoToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data: {visibility_event_rcvd_ts}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up.\n    }\n  }\n\n  /**\n   * _onVisibilityChange - If the visibility has changed to visible, sends a notification\n   *                      and removes the event listener. This should only be called once per tab.\n   */\n  _onVisibilityChange() {\n    if (this.document.visibilityState === VISIBLE) {\n      this._sendEvent();\n      this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/detect-user-session-start.js"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 76418f03acdd07bd5285","webpack:///external \"React\"","webpack:///./system-addon/common/Actions.jsm","webpack:///external \"ReactIntl\"","webpack:///(webpack)/buildin/global.js","webpack:///external \"ReactRedux\"","webpack:///./system-addon/content-src/components/TopSites/TopSitesConstants.js","webpack:///./system-addon/common/Dedupe.jsm","webpack:///./system-addon/common/Reducers.jsm","webpack:///./system-addon/content-src/asrouter/asrouter-content.jsx","webpack:///./system-addon/content-src/lib/init-store.js","webpack:///external \"ReactDOM\"","webpack:///./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","webpack:///./system-addon/content-src/lib/link-menu-options.js","webpack:///./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","webpack:///./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","webpack:///./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","webpack:///./system-addon/content-src/lib/section-menu-options.js","webpack:///./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","webpack:///./system-addon/common/PerfService.jsm","webpack:///./system-addon/content-src/components/TopSites/TopSite.jsx","webpack:///./system-addon/content-src/activity-stream.jsx","webpack:///./system-addon/content-src/lib/snippets.js","webpack:///external \"Redux\"","webpack:///./system-addon/content-src/asrouter/components/ImpressionsWrapper/ImpressionsWrapper.jsx","webpack:///./system-addon/content-src/asrouter/components/ModalOverlay/ModalOverlay.jsx","webpack:///./system-addon/content-src/asrouter/templates/OnboardingMessage/OnboardingMessage.jsx","webpack:///./system-addon/content-src/asrouter/template-utils.js","webpack:///./system-addon/content-src/asrouter/components/Button/Button.jsx","webpack:///./system-addon/content-src/asrouter/components/SnippetBase/SnippetBase.jsx","webpack:///./system-addon/content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.jsx","webpack:///./system-addon/content-src/components/Base/Base.jsx","webpack:///./system-addon/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx","webpack:///./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","webpack:///./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","webpack:///./system-addon/common/PrerenderData.jsm","webpack:///./system-addon/content-src/components/Search/Search.jsx","webpack:///./system-addon/content-src/lib/constants.js","webpack:///./system-addon/content-src/components/Sections/Sections.jsx","webpack:///./system-addon/content-src/components/Card/types.js","webpack:///./system-addon/content-src/components/Card/Card.jsx","webpack:///./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","webpack:///./system-addon/content-src/components/Topics/Topics.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSites.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","webpack:///./system-addon/content-src/components/TopSites/TopSiteForm.jsx","webpack:///./system-addon/content-src/components/StartupOverlay/StartupOverlay.jsx","webpack:///./system-addon/content-src/lib/detect-user-session-start.js"],"names":["globalImportContext","Window","BACKGROUND_PROCESS","UI_CODE","actionTypes","type","ASRouterActions","_RouteMessage","action","options","meta","Object","assign","from","to","Error","forEach","o","AlsoToMain","fromTarget","skipLocal","CONTENT_MESSAGE_TYPE","MAIN_MESSAGE_TYPE","OnlyToMain","BroadcastToContent","AlsoToOneContent","target","skipMain","toTarget","OnlyToOneContent","AlsoToPreloaded","PRELOAD_MESSAGE_TYPE","UserEvent","data","TELEMETRY_USER_EVENT","ASRouterUserEvent","AS_ROUTER_TELEMETRY_USER_EVENT","UndesiredEvent","importContext","TELEMETRY_UNDESIRED_EVENT","PerfEvent","TELEMETRY_PERFORMANCE_EVENT","ImpressionStats","TELEMETRY_IMPRESSION_STATS","SetPref","name","value","SET_PREF","WebExtEvent","source","isSendToMain","isBroadcastToContent","isSendToOneContent","isSendToPreloaded","isFromMain","getPortIdOfSender","TOP_SITES_SOURCE","TOP_SITES_CONTEXT_MENU_OPTIONS","MIN_RICH_FAVICON_SIZE","MIN_CORNER_FAVICON_SIZE","Dedupe","constructor","createKey","defaultCreateKey","item","group","groups","globalKeys","Set","result","values","valueMap","Map","key","has","set","push","add","map","m","Array","TOP_SITES_DEFAULT_ROWS","TOP_SITES_MAX_SITES_PER_ROW","dedupe","site","url","INITIAL_STATE","App","initialized","version","Snippets","TopSites","rows","editForm","Prefs","Theme","className","Dialog","visible","Sections","prevState","at","INIT","insertPinned","links","pinned","pinnedUrls","link","newLinks","filter","includes","isPinned","pinIndex","val","index","length","splice","hasMatch","newRows","TOP_SITES_UPDATED","pref","TOP_SITES_PREFS_UPDATED","TOP_SITES_EDIT","previewResponse","TOP_SITES_CANCEL_EDIT","PREVIEW_RESPONSE","previewUrl","preview","PREVIEW_REQUEST","PREVIEW_REQUEST_CANCEL","SCREENSHOT_UPDATED","row","screenshot","PLACES_BOOKMARK_ADDED","bookmarkGuid","bookmarkTitle","dateAdded","bookmarkDateCreated","PLACES_BOOKMARK_REMOVED","newSite","PLACES_LINK_DELETED","DIALOG_OPEN","DIALOG_CANCEL","DELETE_HISTORY_URL","newValues","PREFS_INITIAL_VALUES","PREF_CHANGED","newState","SECTION_DEREGISTER","section","id","SECTION_REGISTER","title","enabled","SECTION_UPDATE","find","card","dedupeConfigurations","dedupeConf","dedupedRows","dedupeFrom","reduce","dedupeSectionId","dedupeSection","s","SECTION_UPDATE_CARD","PLACES_SAVED_TO_POCKET","open_url","pocket_id","PLACES_LINK_BLOCKED","DELETE_FROM_POCKET","ARCHIVE_FROM_POCKET","SNIPPETS_DATA","SNIPPET_BLOCKED","blockList","concat","SNIPPETS_BLOCKLIST_CLEARED","SNIPPETS_RESET","THEME_UPDATE","INCOMING_MESSAGE_NAME","OUTGOING_MESSAGE_NAME","ASRouterUtils","addListener","listener","global","addMessageListener","removeListener","removeMessageListener","sendMessage","sendAsyncMessage","blockById","blockBundle","bundle","executeAction","button_action","button_action_params","unblockById","unblockBundle","getNextMessage","overrideMessage","sendTelemetry","ping","payload","ac","shouldSendImpressionOnUpdate","nextProps","prevProps","message","ASRouterUISurface","React","PureComponent","props","onMessageFromParent","bind","sendImpression","sendUserActionTelemetry","state","extraProps","message_id","eventType","provider","event","onBlockById","clearBundle","setState","componentWillMount","componentWillUnmount","renderSnippets","document","renderOnboarding","render","template","defaultProps","initASRouter","ReactDOM","getElementById","MERGE_STORE_ACTION","EARLY_QUEUED_ACTIONS","SAVE_SESSION_PERF_DATA","PAGE_PRERENDERED","mergeStateReducer","mainReducer","messageMiddleware","store","next","au","rehydrationMiddleware","_didRehydrate","isMergeStoreAction","isRehydrationRequest","NEW_TAB_STATE_REQUEST","_didRequestInitialState","queueEarlyMessageMiddleware","_receivedFromMain","_earlyActionQueue","initStore","reducers","initialState","createStore","combineReducers","applyMiddleware","msg","dispatch","ex","console","error","dump","JSON","stringify","stack","ErrorBoundaryFallback","windowObj","window","onClick","location","reload","defaultClass","ErrorBoundary","hasError","componentDidCatch","info","children","FallbackComponent","_OpenInPrivateWindow","icon","OPEN_PRIVATE_WINDOW","referrer","userEvent","GetPlatformString","platform","LinkMenuOptions","Separator","EmptyItem","RemoveBookmark","DELETE_BOOKMARK_BY_ID","AddBookmark","BOOKMARK_URL","OpenInNewWindow","OPEN_NEW_WINDOW","typedBonus","BlockUrl","eventSource","BLOCK_URL","impression","block","tiles","guid","pos","WebExtDismiss","string_id","WEBEXT_DISMISS","action_position","DeleteUrl","isEnabled","siteInfo","onConfirm","forceBlock","body_string_id","confirm_button_string_id","cancel_button_string_id","ShowFile","SHOW_DOWNLOAD_FILE","OpenFile","OPEN_DOWNLOAD_FILE","CopyDownloadLink","COPY_DOWNLOAD_LINK","GoToDownloadPage","OPEN_LINK","disabled","RemoveDownload","REMOVE_DOWNLOAD_FILE","PinTopSite","TOP_SITES_PIN","UnpinTopSite","TOP_SITES_UNPIN","SaveToPocket","SAVE_TO_POCKET","pocket","DeleteFromPocket","ArchiveFromPocket","EditTopSite","CheckBookmark","CheckPinTopSite","CheckSavedToPocket","CheckBookmarkOrArchive","OpenInPrivateWindow","DEFAULT_SITE_MENU_OPTIONS","_LinkMenu","getOptions","isPrivateBrowsingEnabled","propOptions","isDefault","option","label","intl","formatMessage","userEventData","shouldSendImpressionStats","first","last","onUpdate","getState","LinkMenu","connect","injectIntl","ContextMenu","hideContext","componentDidMount","setTimeout","addEventListener","removeEventListener","stopPropagation","i","ContextMenuItem","onKeyDown","shiftKey","VISIBLE","VISIBILITY_CHANGE_EVENT","getFormattedMessage","Disclaimer","onAcknowledge","disclaimerPref","disclaimer","text","href","button","DisclaimerIntl","_CollapsibleSection","onBodyMount","onHeaderClick","onTransitionEnd","enableOrDisableAnimation","onMenuButtonClick","onMenuButtonMouseEnter","onMenuButtonMouseLeave","onMenuUpdate","enableAnimation","isAnimating","menuButtonHover","showContextMenu","componentWillUpdate","collapsed","sectionBody","scrollHeight","visibilityState","node","undefined","maxHeight","SectionMenuOptions","CheckCollapsed","currentTarget","renderIcon","startsWith","backgroundImage","preventDefault","isCollapsible","extraMenuOptions","showPrefName","privacyNoticeURL","isFirst","isLast","isWebExtension","needsDisclaimer","active","CollapsibleSection","MoveUp","SECTION_MOVE","direction","MoveDown","RemoveSection","CollapseSection","UPDATE_SECTION_PREFS","ExpandSection","ManageSection","SETTINGS_OPEN","ManageWebExtension","OPEN_WEBEXT_SETTINGS","AddTopSite","PrivacyNotice","RECORDED_SECTIONS","ComponentPerfTimer","Component","perfSvc","_sendBadStateEvent","_sendPaintedEvent","_reportMissingData","_timestampHandled","_recordedFirstRender","_maybeSendPaintedEvent","componentDidUpdate","_afterFramePaint","callback","requestAnimationFrame","_maybeSendBadStateEvent","_ensureFirstRenderTsRecorded","mark","dataReadyKey","firstRenderKey","parseInt","getMostRecentAbsMarkStartByName","ChromeUtils","import","usablePerfObj","Services","appShell","hiddenDOMWindow","performance","now","_PerfService","performanceObj","_perf","prototype","str","getEntriesByName","timeOrigin","absNow","entries","mostRecentEntry","startTime","TopSiteLink","onDragEvent","_allowDrop","e","dataTransfer","types","dragged","effectAllowed","setData","blur","defaultStyle","isDraggable","topSiteOuterClassName","isDragged","tippyTopIcon","faviconSize","letterFallback","imageClassName","imageStyle","showSmallFavicon","smallFaviconStyle","smallFaviconFallback","customScreenshotURL","backgroundColor","favicon","draggableProps","onDragEnd","onDragStart","onMouseDown","TopSite","onLinkClick","_getTelemetryInfo","icon_type","iconType","card_type","altKey","ctrlKey","metaKey","onActivate","isContextMenuOpen","activeIndex","hostname","TopSitePlaceholder","onEditButtonClick","_TopSiteList","DEFAULT_STATE","draggedIndex","draggedSite","draggedTitle","topSitesPreview","componentWillReceiveProps","prevTopSites","newTopSites","dropped","_makeTopSitesPreview","TOP_SITES_INSERT","draggedFromIndex","_getTopSites","topSites","slice","TopSitesRows","pinnedOnly","unpinned","siteToInsert","holeIndex","indexStep","shiftingStep","nextIndex","shift","topSitesUI","commonProps","maxNarrowVisibleIndex","l","topSiteIconType","slotProps","TopSiteList","gActivityStreamPrerenderedState","sendEventOrAddListener","hydrate","documentElement","lang","gActivityStreamStrings","addSnippetsSubscriber","DATABASE_NAME","DATABASE_VERSION","SNIPPETS_OBJECTSTORE_NAME","SNIPPETS_UPDATE_INTERVAL_MS","SNIPPETS_ENABLED_EVENT","SNIPPETS_DISABLED_EVENT","SnippetsMap","_db","_dispatch","_dbTransaction","db","put","delete","clear","get","blockSnippetById","SNIPPETS_BLOCKLIST_UPDATED","disableOnboarding","DISABLE_ONBOARDING","showFirefoxAccounts","SHOW_FIREFOX_ACCOUNTS","getTotalBookmarksCount","Promise","resolve","TOTAL_BOOKMARKS_REQUEST","onMessage","TOTAL_BOOKMARKS_RESPONSE","_openDB","_restoreFromDb","modifier","reject","transaction","objectStore","onsuccess","onerror","openRequest","indexedDB","open","deleteDatabase","onupgradeneeded","objectStoreNames","contains","createObjectStore","err","onversionchange","versionChangeEvent","close","cursorRequest","openCursor","cursor","continue","SnippetsProvider","gSnippetsMap","_onAction","snippetsMap","_refreshSnippets","cachedVersion","appData","lastUpdate","needsUpdate","Date","snippetsURL","response","fetch","status","_noSnippetFallback","_forceOnboardingVisibility","shouldBeVisible","onboardingEl","style","display","_showRemoteSnippets","snippetsEl","elementId","innerHTML","scriptEl","getElementsByTagName","relocatedScript","createElement","parentNode","replaceChild","init","keys","dispatchEvent","Event","uninit","snippets","initializing","subscribe","asrouterExperimentEnabled","disableSnippets","ImpressionsWrapper","sendImpressionOrAddListener","_onVisibilityChange","sendOnMount","body","classList","remove","button_label","onDoneButton","onAction","content","safeURI","protocol","URL","isAllowed","warn","Button","onBlockClicked","onBlock","containerClassName","DEFAULT_ICON_PATH","onButtonClick","renderTitle","renderButton","button_url","hasLink","button_type","hasButton","PrefsButton","addLocaleDataForReactIntl","locale","addLocaleData","parentLocale","_Base","updateTheme","sendNewTabRehydrated","isPrerendered","bodyClassName","isFirstrun","v","join","renderNotified","NEW_TAB_REHYDRATED","strings","hash","BaseContent","openPreferences","prefs","shouldBeFixedToTop","PrerenderData","arePrefsValid","outerClassName","showSearch","migrationExpired","Base","ASRouterAdmin","findOtherBundledMessagesOfSameTemplate","messages","bundled","handleBlock","handleUnblock","handleOverride","renderMessageItem","isCurrent","currentId","isBlocked","itemClassName","renderMessages","renderProviders","providers","_ConfirmDialog","_handleCancelBtn","_handleConfirmBtn","_renderModalMessage","message_body","ConfirmDialog","_ManualMigration","onLaunchTour","onCancelTour","MIGRATION_START","MIGRATION_CANCEL","ManualMigration","_PrerenderData","initialPrefs","initialSections","_setValidation","validation","_validation","invalidatingPrefs","_invalidatingPrefs","oneOf","getPref","indexedDBPrefs","some","anyModifiedPrefs","prefName","order","_Search","onInputMount","handleEvent","detail","gContentSearchController","search","input","healthReportKey","IS_NEWTAB","searchSource","ContentSearchUIController","Search","documentURI","CARDS_PER_ROW","Section","_dispatchImpressionStats","maxCards","maxRows","cards","needsImpressionStats","impressionCardGuids","sendImpressionStatsOrAddListener","isCollapsed","wasCollapsed","numberOfPlaceholders","items","remainder","emptyState","contextMenuOptions","shouldShowTopics","topics","realRows","placeholders","shouldShowEmptyState","feed","padding","_","read_more_endpoint","SectionIntl","_Sections","renderSections","sections","enabledSections","sectionOrder","showTopSites","expectedCount","sectionId","split","cardContextTypes","history","intlID","bookmark","trending","download","gImageLoading","activeCard","imageLoaded","maybeLoadImage","image","loaderPromise","loader","Image","src","catch","then","WEBEXT_CLICK","click","hasImage","placeholder","description","context","_Card","Card","PlaceholderCard","DEFAULT_SECTION_MENU_OPTIONS","WEBEXT_SECTION_MENU_OPTIONS","_SectionMenu","extraOptions","SectionMenu","Topic","Topics","t","faviconRef","countTopSitesIconsTypes","countTopSitesTypes","acc","_TopSites","onFormClose","_dispatchTopSitesStats","_getVisibleTopSites","topSitesIconsStats","topSitesPinned","topsites_icon_stats","topsites_pinned","sitesPerRow","matchMedia","matches","topSitesRows","validationError","onChange","onMount","shouldFocus","focus","ev","showClearButton","onClear","typeUrl","titleId","loading","placeholderId","errorMessageId","TopSiteFormInput","customScreenshotUrl","showCustomScreenshotForm","onClearScreenshotInput","onLabelChange","onUrlChange","onCancelButtonClick","onClearUrlClick","onDoneButtonClick","onCustomScreenshotUrlChange","onPreviewButtonClick","onEnableScreenshotUrlForm","validateUrl","_updateCustomScreenshotInput","onClose","validateForm","cleanUrl","_tryParseUrl","validProtocols","urlObj","validateCustomScreenshotUrl","validate","_renderCustomScreenshotInput","requestFailed","isLoading","showAsAdd","previous","changed","previewMode","previewLink","TopSiteForm","_StartupOverlay","onInputChange","onSubmit","clickSkip","initScene","removeOverlay","emailInput","show","termsLink","privacyLink","terms","privacy","StartupOverlay","DetectUserSessionStart","_store","_perfService","perfService","_sendEvent","visibility_event_rcvd_ts"],"mappings":"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","file":"activity-stream.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 19);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 76418f03acdd07bd5285","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 0\n// module chunks = 0","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nthis.MAIN_MESSAGE_TYPE = \"ActivityStream:Main\";\nthis.CONTENT_MESSAGE_TYPE = \"ActivityStream:Content\";\nthis.PRELOAD_MESSAGE_TYPE = \"ActivityStream:PreloadedBrowser\";\nthis.UI_CODE = 1;\nthis.BACKGROUND_PROCESS = 2;\n\n/**\n * globalImportContext - Are we in UI code (i.e. react, a dom) or some kind of background process?\n *                       Use this in action creators if you need different logic\n *                       for ui/background processes.\n */\nconst globalImportContext = typeof Window === \"undefined\" ? BACKGROUND_PROCESS : UI_CODE;\n// Export for tests\nthis.globalImportContext = globalImportContext;\n\n// Create an object that avoids accidental differing key/value pairs:\n// {\n//   INIT: \"INIT\",\n//   UNINIT: \"UNINIT\"\n// }\nconst actionTypes = {};\nfor (const type of [\n  \"ARCHIVE_FROM_POCKET\",\n  \"AS_ROUTER_TELEMETRY_USER_EVENT\",\n  \"BLOCK_URL\",\n  \"BOOKMARK_URL\",\n  \"COPY_DOWNLOAD_LINK\",\n  \"DELETE_BOOKMARK_BY_ID\",\n  \"DELETE_FROM_POCKET\",\n  \"DELETE_HISTORY_URL\",\n  \"DIALOG_CANCEL\",\n  \"DIALOG_OPEN\",\n  \"DISABLE_ONBOARDING\",\n  \"DOWNLOAD_CHANGED\",\n  \"INIT\",\n  \"MIGRATION_CANCEL\",\n  \"MIGRATION_COMPLETED\",\n  \"MIGRATION_START\",\n  \"NEW_TAB_INIT\",\n  \"NEW_TAB_INITIAL_STATE\",\n  \"NEW_TAB_LOAD\",\n  \"NEW_TAB_REHYDRATED\",\n  \"NEW_TAB_STATE_REQUEST\",\n  \"NEW_TAB_UNLOAD\",\n  \"OPEN_DOWNLOAD_FILE\",\n  \"OPEN_LINK\",\n  \"OPEN_NEW_WINDOW\",\n  \"OPEN_PRIVATE_WINDOW\",\n  \"OPEN_WEBEXT_SETTINGS\",\n  \"PAGE_PRERENDERED\",\n  \"PLACES_BOOKMARK_ADDED\",\n  \"PLACES_BOOKMARK_REMOVED\",\n  \"PLACES_HISTORY_CLEARED\",\n  \"PLACES_LINKS_CHANGED\",\n  \"PLACES_LINK_BLOCKED\",\n  \"PLACES_LINK_DELETED\",\n  \"PLACES_SAVED_TO_POCKET\",\n  \"PREFS_INITIAL_VALUES\",\n  \"PREF_CHANGED\",\n  \"PREVIEW_REQUEST\",\n  \"PREVIEW_REQUEST_CANCEL\",\n  \"PREVIEW_RESPONSE\",\n  \"REMOVE_DOWNLOAD_FILE\",\n  \"RICH_ICON_MISSING\",\n  \"SAVE_SESSION_PERF_DATA\",\n  \"SAVE_TO_POCKET\",\n  \"SCREENSHOT_UPDATED\",\n  \"SECTION_DEREGISTER\",\n  \"SECTION_DISABLE\",\n  \"SECTION_ENABLE\",\n  \"SECTION_MOVE\",\n  \"SECTION_OPTIONS_CHANGED\",\n  \"SECTION_REGISTER\",\n  \"SECTION_UPDATE\",\n  \"SECTION_UPDATE_CARD\",\n  \"SETTINGS_CLOSE\",\n  \"SETTINGS_OPEN\",\n  \"SET_PREF\",\n  \"SHOW_DOWNLOAD_FILE\",\n  \"SHOW_FIREFOX_ACCOUNTS\",\n  \"SKIPPED_SIGNIN\",\n  \"SNIPPETS_BLOCKLIST_CLEARED\",\n  \"SNIPPETS_BLOCKLIST_UPDATED\",\n  \"SNIPPETS_DATA\",\n  \"SNIPPETS_RESET\",\n  \"SNIPPET_BLOCKED\",\n  \"SUBMIT_EMAIL\",\n  \"SYSTEM_TICK\",\n  \"TELEMETRY_IMPRESSION_STATS\",\n  \"TELEMETRY_PERFORMANCE_EVENT\",\n  \"TELEMETRY_UNDESIRED_EVENT\",\n  \"TELEMETRY_USER_EVENT\",\n  \"THEME_UPDATE\",\n  \"TOP_SITES_CANCEL_EDIT\",\n  \"TOP_SITES_EDIT\",\n  \"TOP_SITES_INSERT\",\n  \"TOP_SITES_PIN\",\n  \"TOP_SITES_PREFS_UPDATED\",\n  \"TOP_SITES_UNPIN\",\n  \"TOP_SITES_UPDATED\",\n  \"TOTAL_BOOKMARKS_REQUEST\",\n  \"TOTAL_BOOKMARKS_RESPONSE\",\n  \"UNINIT\",\n  \"UPDATE_SECTION_PREFS\",\n  \"WEBEXT_CLICK\",\n  \"WEBEXT_DISMISS\"\n]) {\n  actionTypes[type] = type;\n}\n\n// These are acceptable actions for AS Router messages to have. They can show up\n// as call-to-action buttons in snippets, onboarding tour, etc.\nconst ASRouterActions = {};\nfor (const type of [\n  \"OPEN_PRIVATE_BROWSER_WINDOW\",\n  \"OPEN_URL\",\n  \"OPEN_ABOUT_PAGE\"\n]) {\n  ASRouterActions[type] = type;\n}\n\n// Helper function for creating routed actions between content and main\n// Not intended to be used by consumers\nfunction _RouteMessage(action, options) {\n  const meta = action.meta ? Object.assign({}, action.meta) : {};\n  if (!options || !options.from || !options.to) {\n    throw new Error(\"Routed Messages must have options as the second parameter, and must at least include a .from and .to property.\");\n  }\n  // For each of these fields, if they are passed as an option,\n  // add them to the action. If they are not defined, remove them.\n  [\"from\", \"to\", \"toTarget\", \"fromTarget\", \"skipMain\", \"skipLocal\"].forEach(o => {\n    if (typeof options[o] !== \"undefined\") {\n      meta[o] = options[o];\n    } else if (meta[o]) {\n      delete meta[o];\n    }\n  });\n  return Object.assign({}, action, {meta});\n}\n\n/**\n * AlsoToMain - Creates a message that will be dispatched locally and also sent to the Main process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {bool}   skipLocal Used by OnlyToMain to skip the main reducer\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToMain(action, fromTarget, skipLocal) {\n  return _RouteMessage(action, {\n    from: CONTENT_MESSAGE_TYPE,\n    to: MAIN_MESSAGE_TYPE,\n    fromTarget,\n    skipLocal\n  });\n}\n\n/**\n * OnlyToMain - Creates a message that will be sent to the Main process and skip the local reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {object} options\n * @param  {string} fromTarget The id of the content port from which the action originated. (optional)\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToMain(action, fromTarget) {\n  return AlsoToMain(action, fromTarget, true);\n}\n\n/**\n * BroadcastToContent - Creates a message that will be dispatched to main and sent to ALL content processes.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction BroadcastToContent(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE\n  });\n}\n\n/**\n * AlsoToOneContent - Creates a message that will be will be dispatched to the main store\n *                    and also sent to a particular Content process.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @param  {bool} skipMain Used by OnlyToOneContent to skip the main process\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToOneContent(action, target, skipMain) {\n  if (!target) {\n    throw new Error(\"You must provide a target ID as the second parameter of AlsoToOneContent. If you want to send to all content processes, use BroadcastToContent\");\n  }\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: CONTENT_MESSAGE_TYPE,\n    toTarget: target,\n    skipMain\n  });\n}\n\n/**\n * OnlyToOneContent - Creates a message that will be sent to a particular Content process\n *                    and skip the main reducer.\n *\n * @param  {object} action Any redux action (required)\n * @param  {string} target The id of a content port\n * @return {object} An action with added .meta properties\n */\nfunction OnlyToOneContent(action, target) {\n  return AlsoToOneContent(action, target, true);\n}\n\n/**\n * AlsoToPreloaded - Creates a message that dispatched to the main reducer and also sent to the preloaded tab.\n *\n * @param  {object} action Any redux action (required)\n * @return {object} An action with added .meta properties\n */\nfunction AlsoToPreloaded(action) {\n  return _RouteMessage(action, {\n    from: MAIN_MESSAGE_TYPE,\n    to: PRELOAD_MESSAGE_TYPE\n  });\n}\n\n/**\n * UserEvent - A telemetry ping indicating a user action. This should only\n *                   be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction UserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * ASRouterUserEvent - A telemetry ping indicating a user action from AS router. This should only\n *                     be sent from the UI during a user session.\n *\n * @param  {object} data Fields to include in the ping (source, etc.)\n * @return {object} An AlsoToMain action\n */\nfunction ASRouterUserEvent(data) {\n  return AlsoToMain({\n    type: actionTypes.AS_ROUTER_TELEMETRY_USER_EVENT,\n    data\n  });\n}\n\n/**\n * UndesiredEvent - A telemetry ping indicating an undesired state.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction UndesiredEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_UNDESIRED_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * PerfEvent - A telemetry ping indicating a performance-related event.\n *\n * @param  {object} data Fields to include in the ping (value, etc.)\n * @param  {int} importContext (For testing) Override the import context for testing.\n * @return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction PerfEvent(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_PERFORMANCE_EVENT,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\n/**\n * ImpressionStats - A telemetry ping indicating an impression stats.\n *\n * @param  {object} data Fields to include in the ping\n * @param  {int} importContext (For testing) Override the import context for testing.\n * #return {object} An action. For UI code, a AlsoToMain action.\n */\nfunction ImpressionStats(data, importContext = globalImportContext) {\n  const action = {\n    type: actionTypes.TELEMETRY_IMPRESSION_STATS,\n    data\n  };\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction SetPref(name, value, importContext = globalImportContext) {\n  const action = {type: actionTypes.SET_PREF, data: {name, value}};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nfunction WebExtEvent(type, data, importContext = globalImportContext) {\n  if (!data || !data.source) {\n    throw new Error(\"WebExtEvent actions should include a property \\\"source\\\", the id of the webextension that should receive the event.\");\n  }\n  const action = {type, data};\n  return importContext === UI_CODE ? AlsoToMain(action) : action;\n}\n\nthis.actionTypes = actionTypes;\nthis.ASRouterActions = ASRouterActions;\n\nthis.actionCreators = {\n  BroadcastToContent,\n  UserEvent,\n  ASRouterUserEvent,\n  UndesiredEvent,\n  PerfEvent,\n  ImpressionStats,\n  AlsoToOneContent,\n  OnlyToOneContent,\n  AlsoToMain,\n  OnlyToMain,\n  AlsoToPreloaded,\n  SetPref,\n  WebExtEvent\n};\n\n// These are helpers to test for certain kinds of actions\nthis.actionUtils = {\n  isSendToMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === MAIN_MESSAGE_TYPE && action.meta.from === CONTENT_MESSAGE_TYPE;\n  },\n  isBroadcastToContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && !action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToOneContent(action) {\n    if (!action.meta) {\n      return false;\n    }\n    if (action.meta.to === CONTENT_MESSAGE_TYPE && action.meta.toTarget) {\n      return true;\n    }\n    return false;\n  },\n  isSendToPreloaded(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.to === PRELOAD_MESSAGE_TYPE &&\n      action.meta.from === MAIN_MESSAGE_TYPE;\n  },\n  isFromMain(action) {\n    if (!action.meta) {\n      return false;\n    }\n    return action.meta.from === MAIN_MESSAGE_TYPE &&\n      action.meta.to === CONTENT_MESSAGE_TYPE;\n  },\n  getPortIdOfSender(action) {\n    return (action.meta && action.meta.fromTarget) || null;\n  },\n  _RouteMessage\n};\n\nconst EXPORTED_SYMBOLS = [\n  \"actionTypes\",\n  \"actionCreators\",\n  \"actionUtils\",\n  \"ASRouterActions\",\n  \"globalImportContext\",\n  \"UI_CODE\",\n  \"BACKGROUND_PROCESS\",\n  \"MAIN_MESSAGE_TYPE\",\n  \"CONTENT_MESSAGE_TYPE\",\n  \"PRELOAD_MESSAGE_TYPE\"\n];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Actions.jsm","module.exports = ReactIntl;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactIntl\"\n// module id = 2\n// module chunks = 0","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 3\n// module chunks = 0","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 4\n// module chunks = 0","export const TOP_SITES_SOURCE = \"TOP_SITES\";\nexport const TOP_SITES_CONTEXT_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\",\n  \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\", \"DeleteUrl\"];\n// minimum size necessary to show a rich icon instead of a screenshot\nexport const MIN_RICH_FAVICON_SIZE = 96;\n// minimum size necessary to show any icon in the top left corner with a screenshot\nexport const MIN_CORNER_FAVICON_SIZE = 16;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSitesConstants.js","this.Dedupe = class Dedupe {\n  constructor(createKey) {\n    this.createKey = createKey || this.defaultCreateKey;\n  }\n\n  defaultCreateKey(item) {\n    return item;\n  }\n\n  /**\n   * Dedupe any number of grouped elements favoring those from earlier groups.\n   *\n   * @param {Array} groups Contains an arbitrary number of arrays of elements.\n   * @returns {Array} A matching array of each provided group deduped.\n   */\n  group(...groups) {\n    const globalKeys = new Set();\n    const result = [];\n    for (const values of groups) {\n      const valueMap = new Map();\n      for (const value of values) {\n        const key = this.createKey(value);\n        if (!globalKeys.has(key) && !valueMap.has(key)) {\n          valueMap.set(key, value);\n        }\n      }\n      result.push(valueMap);\n      valueMap.forEach((value, key) => globalKeys.add(key));\n    }\n    return result.map(m => Array.from(m.values()));\n  }\n};\n\nconst EXPORTED_SYMBOLS = [\"Dedupe\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Dedupe.jsm","/* This Source Code Form is subject to the terms of the Mozilla Public\n * License, v. 2.0. If a copy of the MPL was not distributed with this\n * file, You can obtain one at http://mozilla.org/MPL/2.0/. */\n\"use strict\";\n\nconst {actionTypes: at} = ChromeUtils.import(\"resource://activity-stream/common/Actions.jsm\", {});\nconst {Dedupe} = ChromeUtils.import(\"resource://activity-stream/common/Dedupe.jsm\", {});\n\nconst TOP_SITES_DEFAULT_ROWS = 1;\nconst TOP_SITES_MAX_SITES_PER_ROW = 8;\n\nconst dedupe = new Dedupe(site => site && site.url);\n\nconst INITIAL_STATE = {\n  App: {\n    // Have we received real data from the app yet?\n    initialized: false,\n    // The version of the system-addon\n    version: null\n  },\n  Snippets: {initialized: false},\n  TopSites: {\n    // Have we received real data from history yet?\n    initialized: false,\n    // The history (and possibly default) links\n    rows: [],\n    // Used in content only to dispatch action to TopSiteForm.\n    editForm: null\n  },\n  Prefs: {\n    initialized: false,\n    values: {}\n  },\n  Theme: {className: \"\"},\n  Dialog: {\n    visible: false,\n    data: {}\n  },\n  Sections: []\n};\n\nfunction App(prevState = INITIAL_STATE.App, action) {\n  switch (action.type) {\n    case at.INIT:\n      return Object.assign({}, prevState, action.data || {}, {initialized: true});\n    default:\n      return prevState;\n  }\n}\n\n/**\n * insertPinned - Inserts pinned links in their specified slots\n *\n * @param {array} a list of links\n * @param {array} a list of pinned links\n * @return {array} resulting list of links with pinned links inserted\n */\nfunction insertPinned(links, pinned) {\n  // Remove any pinned links\n  const pinnedUrls = pinned.map(link => link && link.url);\n  let newLinks = links.filter(link => (link ? !pinnedUrls.includes(link.url) : false));\n  newLinks = newLinks.map(link => {\n    if (link && link.isPinned) {\n      delete link.isPinned;\n      delete link.pinIndex;\n    }\n    return link;\n  });\n\n  // Then insert them in their specified location\n  pinned.forEach((val, index) => {\n    if (!val) { return; }\n    let link = Object.assign({}, val, {isPinned: true, pinIndex: index});\n    if (index > newLinks.length) {\n      newLinks[index] = link;\n    } else {\n      newLinks.splice(index, 0, link);\n    }\n  });\n\n  return newLinks;\n}\n\nfunction TopSites(prevState = INITIAL_STATE.TopSites, action) {\n  let hasMatch;\n  let newRows;\n  switch (action.type) {\n    case at.TOP_SITES_UPDATED:\n      if (!action.data || !action.data.links) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {initialized: true, rows: action.data.links}, action.data.pref ? {pref: action.data.pref} : {});\n    case at.TOP_SITES_PREFS_UPDATED:\n      return Object.assign({}, prevState, {pref: action.data.pref});\n    case at.TOP_SITES_EDIT:\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: action.data.index,\n          previewResponse: null\n        }\n      });\n    case at.TOP_SITES_CANCEL_EDIT:\n      return Object.assign({}, prevState, {editForm: null});\n    case at.PREVIEW_RESPONSE:\n      if (!prevState.editForm || action.data.url !== prevState.editForm.previewUrl) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: action.data.preview,\n          previewUrl: action.data.url\n        }\n      });\n    case at.PREVIEW_REQUEST:\n      if (!prevState.editForm) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: null,\n          previewUrl: action.data.url\n        }\n      });\n    case at.PREVIEW_REQUEST_CANCEL:\n      if (!prevState.editForm) {\n        return prevState;\n      }\n      return Object.assign({}, prevState, {\n        editForm: {\n          index: prevState.editForm.index,\n          previewResponse: null\n        }\n      });\n    case at.SCREENSHOT_UPDATED:\n      newRows = prevState.rows.map(row => {\n        if (row && row.url === action.data.url) {\n          hasMatch = true;\n          return Object.assign({}, row, {screenshot: action.data.screenshot});\n        }\n        return row;\n      });\n      return hasMatch ? Object.assign({}, prevState, {rows: newRows}) : prevState;\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n          return Object.assign({}, site, {bookmarkGuid, bookmarkTitle, bookmarkDateCreated: dateAdded});\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.map(site => {\n        if (site && site.url === action.data.url) {\n          const newSite = Object.assign({}, site);\n          delete newSite.bookmarkGuid;\n          delete newSite.bookmarkTitle;\n          delete newSite.bookmarkDateCreated;\n          return newSite;\n        }\n        return site;\n      });\n      return Object.assign({}, prevState, {rows: newRows});\n    case at.PLACES_LINK_DELETED:\n      if (!action.data) {\n        return prevState;\n      }\n      newRows = prevState.rows.filter(site => action.data.url !== site.url);\n      return Object.assign({}, prevState, {rows: newRows});\n    default:\n      return prevState;\n  }\n}\n\nfunction Dialog(prevState = INITIAL_STATE.Dialog, action) {\n  switch (action.type) {\n    case at.DIALOG_OPEN:\n      return Object.assign({}, prevState, {visible: true, data: action.data});\n    case at.DIALOG_CANCEL:\n      return Object.assign({}, prevState, {visible: false});\n    case at.DELETE_HISTORY_URL:\n      return Object.assign({}, INITIAL_STATE.Dialog);\n    default:\n      return prevState;\n  }\n}\n\nfunction Prefs(prevState = INITIAL_STATE.Prefs, action) {\n  let newValues;\n  switch (action.type) {\n    case at.PREFS_INITIAL_VALUES:\n      return Object.assign({}, prevState, {initialized: true, values: action.data});\n    case at.PREF_CHANGED:\n      newValues = Object.assign({}, prevState.values);\n      newValues[action.data.name] = action.data.value;\n      return Object.assign({}, prevState, {values: newValues});\n    default:\n      return prevState;\n  }\n}\n\nfunction Sections(prevState = INITIAL_STATE.Sections, action) {\n  let hasMatch;\n  let newState;\n  switch (action.type) {\n    case at.SECTION_DEREGISTER:\n      return prevState.filter(section => section.id !== action.data);\n    case at.SECTION_REGISTER:\n      // If section exists in prevState, update it\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          hasMatch = true;\n          return Object.assign({}, section, action.data);\n        }\n        return section;\n      });\n      // Otherwise, append it\n      if (!hasMatch) {\n        const initialized = !!(action.data.rows && action.data.rows.length > 0);\n        const section = Object.assign({title: \"\", rows: [], enabled: false}, action.data, {initialized});\n        newState.push(section);\n      }\n      return newState;\n    case at.SECTION_UPDATE:\n      newState = prevState.map(section => {\n        if (section && section.id === action.data.id) {\n          // If the action is updating rows, we should consider initialized to be true.\n          // This can be overridden if initialized is defined in the action.data\n          const initialized = action.data.rows ? {initialized: true} : {};\n\n          // Make sure pinned cards stay at their current position when rows are updated.\n          // Disabling a section (SECTION_UPDATE with empty rows) does not retain pinned cards.\n          if (action.data.rows && action.data.rows.length > 0 && section.rows.find(card => card.pinned)) {\n            const rows = Array.from(action.data.rows);\n            section.rows.forEach((card, index) => {\n              if (card.pinned) {\n                rows.splice(index, 0, card);\n              }\n            });\n            return Object.assign({}, section, initialized, Object.assign({}, action.data, {rows}));\n          }\n\n          return Object.assign({}, section, initialized, action.data);\n        }\n        return section;\n      });\n\n      if (!action.data.dedupeConfigurations) {\n        return newState;\n      }\n\n      action.data.dedupeConfigurations.forEach(dedupeConf => {\n        newState = newState.map(section => {\n          if (section.id === dedupeConf.id) {\n            const dedupedRows = dedupeConf.dedupeFrom.reduce((rows, dedupeSectionId) => {\n              const dedupeSection = newState.find(s => s.id === dedupeSectionId);\n              const [, newRows] = dedupe.group(dedupeSection.rows, rows);\n              return newRows;\n            }, section.rows);\n\n            return Object.assign({}, section, {rows: dedupedRows});\n          }\n\n          return section;\n        });\n      });\n\n      return newState;\n    case at.SECTION_UPDATE_CARD:\n      return prevState.map(section => {\n        if (section && section.id === action.data.id && section.rows) {\n          const newRows = section.rows.map(card => {\n            if (card.url === action.data.url) {\n              return Object.assign({}, card, action.data.options);\n            }\n            return card;\n          });\n          return Object.assign({}, section, {rows: newRows});\n        }\n        return section;\n      });\n    case at.PLACES_BOOKMARK_ADDED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the item within the rows that is attempted to be bookmarked\n          if (item.url === action.data.url) {\n            const {bookmarkGuid, bookmarkTitle, dateAdded} = action.data;\n            return Object.assign({}, item, {\n              bookmarkGuid,\n              bookmarkTitle,\n              bookmarkDateCreated: dateAdded,\n              type: \"bookmark\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_SAVED_TO_POCKET:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          if (item.url === action.data.url) {\n            return Object.assign({}, item, {\n              open_url: action.data.open_url,\n              pocket_id: action.data.pocket_id,\n              title: action.data.title,\n              type: \"pocket\"\n            });\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_BOOKMARK_REMOVED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section => Object.assign({}, section, {\n        rows: section.rows.map(item => {\n          // find the bookmark within the rows that is attempted to be removed\n          if (item.url === action.data.url) {\n            const newSite = Object.assign({}, item);\n            delete newSite.bookmarkGuid;\n            delete newSite.bookmarkTitle;\n            delete newSite.bookmarkDateCreated;\n            if (!newSite.type || newSite.type === \"bookmark\") {\n              newSite.type = \"history\";\n            }\n            return newSite;\n          }\n          return item;\n        })\n      }));\n    case at.PLACES_LINK_DELETED:\n    case at.PLACES_LINK_BLOCKED:\n      if (!action.data) {\n        return prevState;\n      }\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.url !== action.data.url)}));\n    case at.DELETE_FROM_POCKET:\n    case at.ARCHIVE_FROM_POCKET:\n      return prevState.map(section =>\n        Object.assign({}, section, {rows: section.rows.filter(site => site.pocket_id !== action.data.pocket_id)}));\n    default:\n      return prevState;\n  }\n}\n\nfunction Snippets(prevState = INITIAL_STATE.Snippets, action) {\n  switch (action.type) {\n    case at.SNIPPETS_DATA:\n      return Object.assign({}, prevState, {initialized: true}, action.data);\n    case at.SNIPPET_BLOCKED:\n      return Object.assign({}, prevState, {blockList: prevState.blockList.concat(action.data)});\n    case at.SNIPPETS_BLOCKLIST_CLEARED:\n      return Object.assign({}, prevState, {blockList: []});\n    case at.SNIPPETS_RESET:\n      return INITIAL_STATE.Snippets;\n    default:\n      return prevState;\n  }\n}\n\nfunction Theme(prevState = INITIAL_STATE.Theme, action) {\n  switch (action.type) {\n    case at.THEME_UPDATE:\n      return Object.assign({}, prevState, action.data);\n    default:\n      return prevState;\n  }\n}\n\nthis.INITIAL_STATE = INITIAL_STATE;\nthis.TOP_SITES_DEFAULT_ROWS = TOP_SITES_DEFAULT_ROWS;\nthis.TOP_SITES_MAX_SITES_PER_ROW = TOP_SITES_MAX_SITES_PER_ROW;\n\nthis.reducers = {TopSites, App, Snippets, Prefs, Dialog, Sections, Theme};\n\nconst EXPORTED_SYMBOLS = [\"reducers\", \"INITIAL_STATE\", \"insertPinned\", \"TOP_SITES_DEFAULT_ROWS\", \"TOP_SITES_MAX_SITES_PER_ROW\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/Reducers.jsm","import {actionCreators as ac, ASRouterActions as ra} from \"common/Actions.jsm\";\nimport {OUTGOING_MESSAGE_NAME as AS_GENERAL_OUTGOING_MESSAGE_NAME} from \"content-src/lib/init-store\";\nimport {ImpressionsWrapper} from \"./components/ImpressionsWrapper/ImpressionsWrapper\";\nimport {OnboardingMessage} from \"./templates/OnboardingMessage/OnboardingMessage\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {SimpleSnippet} from \"./templates/SimpleSnippet/SimpleSnippet\";\n\nconst INCOMING_MESSAGE_NAME = \"ASRouter:parent-to-child\";\nconst OUTGOING_MESSAGE_NAME = \"ASRouter:child-to-parent\";\n\nexport const ASRouterUtils = {\n  addListener(listener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, listener);\n  },\n  removeListener(listener) {\n    global.removeMessageListener(INCOMING_MESSAGE_NAME, listener);\n  },\n  sendMessage(action) {\n    global.sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  },\n  blockById(id) {\n    ASRouterUtils.sendMessage({type: \"BLOCK_MESSAGE_BY_ID\", data: {id}});\n  },\n  blockBundle(bundle) {\n    ASRouterUtils.sendMessage({type: \"BLOCK_BUNDLE\", data: {bundle}});\n  },\n  executeAction({button_action, button_action_params}) {\n    if (button_action in ra) {\n      ASRouterUtils.sendMessage({type: button_action, data: {button_action_params}});\n    }\n  },\n  unblockById(id) {\n    ASRouterUtils.sendMessage({type: \"UNBLOCK_MESSAGE_BY_ID\", data: {id}});\n  },\n  unblockBundle(bundle) {\n    ASRouterUtils.sendMessage({type: \"UNBLOCK_BUNDLE\", data: {bundle}});\n  },\n  getNextMessage() {\n    ASRouterUtils.sendMessage({type: \"GET_NEXT_MESSAGE\"});\n  },\n  overrideMessage(id) {\n    ASRouterUtils.sendMessage({type: \"OVERRIDE_MESSAGE\", data: {id}});\n  },\n  sendTelemetry(ping) {\n    const payload = ac.ASRouterUserEvent(ping);\n    global.sendAsyncMessage(AS_GENERAL_OUTGOING_MESSAGE_NAME, payload);\n  }\n};\n\n// Note: nextProps/prevProps refer to props passed to <ImpressionsWrapper />, not <ASRouterUISurface />\nfunction shouldSendImpressionOnUpdate(nextProps, prevProps) {\n  return (nextProps.message.id && (!prevProps.message || prevProps.message.id !== nextProps.message.id));\n}\n\nexport class ASRouterUISurface extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMessageFromParent = this.onMessageFromParent.bind(this);\n    this.sendImpression = this.sendImpression.bind(this);\n    this.sendUserActionTelemetry = this.sendUserActionTelemetry.bind(this);\n    this.state = {message: {}, bundle: {}};\n  }\n\n  sendUserActionTelemetry(extraProps = {}) {\n    const {message, bundle} = this.state;\n    if (!message && !extraProps.message_id) {\n      throw new Error(`You must provide a message_id for bundled messages`);\n    }\n    const eventType = `${message.provider || bundle.provider}_user_event`;\n\n    ASRouterUtils.sendTelemetry(Object.assign({\n      message_id: message.id || extraProps.message_id,\n      source: this.props.id,\n      action: eventType\n    }, extraProps));\n  }\n\n  sendImpression() {\n    this.sendUserActionTelemetry({event: \"IMPRESSION\"});\n  }\n\n  onBlockById(id) {\n    return () => ASRouterUtils.blockById(id);\n  }\n\n  clearBundle(bundle) {\n    return () => ASRouterUtils.blockBundle(bundle);\n  }\n\n  onMessageFromParent({data: action}) {\n    switch (action.type) {\n      case \"SET_MESSAGE\":\n        this.setState({message: action.data});\n        break;\n      case \"SET_BUNDLED_MESSAGES\":\n        this.setState({bundle: action.data});\n        break;\n      case \"CLEAR_MESSAGE\":\n        this.setState({message: {}, bundle: {}});\n        break;\n    }\n  }\n\n  componentWillMount() {\n    ASRouterUtils.addListener(this.onMessageFromParent);\n    ASRouterUtils.sendMessage({type: \"CONNECT_UI_REQUEST\"});\n  }\n\n  componentWillUnmount() {\n    ASRouterUtils.removeListener(this.onMessageFromParent);\n  }\n\n  renderSnippets() {\n    return (\n      <ImpressionsWrapper\n        message={this.state.message}\n        sendImpression={this.sendImpression}\n        shouldSendImpressionOnUpdate={shouldSendImpressionOnUpdate}\n        // This helps with testing\n        document={this.props.document}>\n          <SimpleSnippet\n            {...this.state.message}\n            UISurface=\"NEWTAB_FOOTER_BAR\"\n            getNextMessage={ASRouterUtils.getNextMessage}\n            onBlock={this.onBlockById(this.state.message.id)}\n            sendUserActionTelemetry={this.sendUserActionTelemetry} />\n      </ImpressionsWrapper>);\n  }\n\n  renderOnboarding() {\n    return (\n      <OnboardingMessage\n        {...this.state.bundle}\n        UISurface=\"NEWTAB_OVERLAY\"\n        onAction={ASRouterUtils.executeAction}\n        onDoneButton={this.clearBundle(this.state.bundle.bundle)}\n        getNextMessage={ASRouterUtils.getNextMessage}\n        sendUserActionTelemetry={this.sendUserActionTelemetry} />);\n  }\n\n  render() {\n    const {message, bundle} = this.state;\n    if (!message.id && !bundle.template) { return null; }\n    if (bundle.template === \"onboarding\") { return this.renderOnboarding(); }\n    return this.renderSnippets();\n  }\n}\n\nASRouterUISurface.defaultProps = {document: global.document};\n\nexport function initASRouter() {\n  ReactDOM.render(<ASRouterUISurface />, document.getElementById(\"snippets-container\"));\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/asrouter-content.jsx","/* eslint-env mozilla/frame-script */\n\nimport {actionCreators as ac, actionTypes as at, actionUtils as au} from \"common/Actions.jsm\";\nimport {applyMiddleware, combineReducers, createStore} from \"redux\";\n\nexport const MERGE_STORE_ACTION = \"NEW_TAB_INITIAL_STATE\";\nexport const OUTGOING_MESSAGE_NAME = \"ActivityStream:ContentToMain\";\nexport const INCOMING_MESSAGE_NAME = \"ActivityStream:MainToContent\";\nexport const EARLY_QUEUED_ACTIONS = [at.SAVE_SESSION_PERF_DATA, at.PAGE_PRERENDERED];\n\n/**\n * A higher-order function which returns a reducer that, on MERGE_STORE action,\n * will return the action.data object merged into the previous state.\n *\n * For all other actions, it merely calls mainReducer.\n *\n * Because we want this to merge the entire state object, it's written as a\n * higher order function which takes the main reducer (itself often a call to\n * combineReducers) as a parameter.\n *\n * @param  {function} mainReducer reducer to call if action != MERGE_STORE_ACTION\n * @return {function}             a reducer that, on MERGE_STORE_ACTION action,\n *                                will return the action.data object merged\n *                                into the previous state, and the result\n *                                of calling mainReducer otherwise.\n */\nfunction mergeStateReducer(mainReducer) {\n  return (prevState, action) => {\n    if (action.type === MERGE_STORE_ACTION) {\n      return Object.assign({}, prevState, action.data);\n    }\n\n    return mainReducer(prevState, action);\n  };\n}\n\n/**\n * messageMiddleware - Middleware that looks for SentToMain type actions, and sends them if necessary\n */\nconst messageMiddleware = store => next => action => {\n  const skipLocal = action.meta && action.meta.skipLocal;\n  if (au.isSendToMain(action)) {\n    sendAsyncMessage(OUTGOING_MESSAGE_NAME, action);\n  }\n  if (!skipLocal) {\n    next(action);\n  }\n};\n\nexport const rehydrationMiddleware = store => next => action => {\n  if (store._didRehydrate) {\n    return next(action);\n  }\n\n  const isMergeStoreAction = action.type === MERGE_STORE_ACTION;\n  const isRehydrationRequest = action.type === at.NEW_TAB_STATE_REQUEST;\n\n  if (isRehydrationRequest) {\n    store._didRequestInitialState = true;\n    return next(action);\n  }\n\n  if (isMergeStoreAction) {\n    store._didRehydrate = true;\n    return next(action);\n  }\n\n  // If init happened after our request was made, we need to re-request\n  if (store._didRequestInitialState && action.type === at.INIT) {\n    return next(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n  }\n\n  if (au.isBroadcastToContent(action) || au.isSendToOneContent(action) || au.isSendToPreloaded(action)) {\n    // Note that actions received before didRehydrate will not be dispatched\n    // because this could negatively affect preloading and the the state\n    // will be replaced by rehydration anyway.\n    return null;\n  }\n\n  return next(action);\n};\n\n/**\n * This middleware queues up all the EARLY_QUEUED_ACTIONS until it receives\n * the first action from main. This is useful for those actions for main which\n * require higher reliability, i.e. the action will not be lost in the case\n * that it gets sent before the main is ready to receive it. Conversely, any\n * actions allowed early are accepted to be ignorable or re-sendable.\n */\nexport const queueEarlyMessageMiddleware = store => next => action => {\n  if (store._receivedFromMain) {\n    next(action);\n  } else if (au.isFromMain(action)) {\n    next(action);\n    store._receivedFromMain = true;\n    // Sending out all the early actions as main is ready now\n    if (store._earlyActionQueue) {\n      store._earlyActionQueue.forEach(next);\n      store._earlyActionQueue = [];\n    }\n  } else if (EARLY_QUEUED_ACTIONS.includes(action.type)) {\n    store._earlyActionQueue = store._earlyActionQueue || [];\n    store._earlyActionQueue.push(action);\n  } else {\n    // Let any other type of action go through\n    next(action);\n  }\n};\n\n/**\n * initStore - Create a store and listen for incoming actions\n *\n * @param  {object} reducers An object containing Redux reducers\n * @param  {object} intialState (optional) The initial state of the store, if desired\n * @return {object}          A redux store\n */\nexport function initStore(reducers, initialState) {\n  const store = createStore(\n    mergeStateReducer(combineReducers(reducers)),\n    initialState,\n    global.addMessageListener && applyMiddleware(rehydrationMiddleware, queueEarlyMessageMiddleware, messageMiddleware)\n  );\n\n  store._didRehydrate = false;\n  store._didRequestInitialState = false;\n\n  if (global.addMessageListener) {\n    global.addMessageListener(INCOMING_MESSAGE_NAME, msg => {\n      try {\n        store.dispatch(msg.data);\n      } catch (ex) {\n        console.error(\"Content msg:\", msg, \"Dispatch error: \", ex); // eslint-disable-line no-console\n        dump(`Content msg: ${JSON.stringify(msg)}\\nDispatch error: ${ex}\\n${ex.stack}`);\n      }\n    });\n  }\n\n  return store;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/init-store.js","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 9\n// module chunks = 0","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class ErrorBoundaryFallback extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.windowObj = this.props.windowObj || window;\n    this.onClick = this.onClick.bind(this);\n  }\n\n  /**\n   * Since we only get here if part of the page has crashed, do a\n   * forced reload to give us the best chance at recovering.\n   */\n  onClick() {\n    this.windowObj.location.reload(true);\n  }\n\n  render() {\n    const defaultClass = \"as-error-fallback\";\n    let className;\n    if (\"className\" in this.props) {\n      className = `${this.props.className} ${defaultClass}`;\n    } else {\n      className = defaultClass;\n    }\n\n    // href=\"#\" to force normal link styling stuff (eg cursor on hover)\n    return (\n      <div className={className}>\n        <div>\n          <FormattedMessage\n            defaultMessage=\"Oops, something went wrong loading this content.\"\n            id=\"error_fallback_default_info\" />\n        </div>\n        <span>\n          <a href=\"#\" className=\"reload-button\" onClick={this.onClick}>\n            <FormattedMessage\n              defaultMessage=\"Refresh page to try again.\"\n              id=\"error_fallback_default_refresh_suggestion\" />\n          </a>\n        </span>\n      </div>\n    );\n  }\n}\nErrorBoundaryFallback.defaultProps = {className: \"as-error-fallback\"};\n\nexport class ErrorBoundary extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {hasError: false};\n  }\n\n  componentDidCatch(error, info) {\n    this.setState({hasError: true});\n  }\n\n  render() {\n    if (!this.state.hasError) {\n      return (this.props.children);\n    }\n\n    return <this.props.FallbackComponent className={this.props.className} />;\n  }\n}\n\nErrorBoundary.defaultProps = {FallbackComponent: ErrorBoundaryFallback};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ErrorBoundary/ErrorBoundary.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\nconst _OpenInPrivateWindow = site => ({\n  id: \"menu_action_open_private_window\",\n  icon: \"new-window-private\",\n  action: ac.OnlyToMain({\n    type: at.OPEN_PRIVATE_WINDOW,\n    data: {url: site.url, referrer: site.referrer}\n  }),\n  userEvent: \"OPEN_PRIVATE_WINDOW\"\n});\n\nexport const GetPlatformString = platform => {\n  switch (platform) {\n    case \"win\":\n      return \"menu_action_show_file_windows\";\n    case \"macosx\":\n      return \"menu_action_show_file_mac_os\";\n    case \"linux\":\n      return \"menu_action_show_file_linux\";\n    default:\n      return \"menu_action_show_file_default\";\n  }\n};\n\n/**\n * List of functions that return items that can be included as menu options in a\n * LinkMenu. All functions take the site as the first parameter, and optionally\n * the index of the site.\n */\nexport const LinkMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  EmptyItem: () => ({type: \"empty\"}),\n  RemoveBookmark: site => ({\n    id: \"menu_action_remove_bookmark\",\n    icon: \"bookmark-added\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_BOOKMARK_BY_ID,\n      data: site.bookmarkGuid\n    }),\n    userEvent: \"BOOKMARK_DELETE\"\n  }),\n  AddBookmark: site => ({\n    id: \"menu_action_bookmark\",\n    icon: \"bookmark-hollow\",\n    action: ac.AlsoToMain({\n      type: at.BOOKMARK_URL,\n      data: {url: site.url, title: site.title, type: site.type}\n    }),\n    userEvent: \"BOOKMARK_ADD\"\n  }),\n  OpenInNewWindow: site => ({\n    id: \"menu_action_open_new_window\",\n    icon: \"new-window\",\n    action: ac.AlsoToMain({\n      type: at.OPEN_NEW_WINDOW,\n      data: {\n        referrer: site.referrer,\n        typedBonus: site.typedBonus,\n        url: site.url\n      }\n    }),\n    userEvent: \"OPEN_NEW_WINDOW\"\n  }),\n  BlockUrl: (site, index, eventSource) => ({\n    id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.AlsoToMain({\n      type: at.BLOCK_URL,\n      data: {url: site.url, pocket_id: site.pocket_id}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      block: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"BLOCK\"\n  }),\n\n  // This is an option for web extentions which will result in remove items from\n  // memory and notify the web extenion, rather than using the built-in block list.\n  WebExtDismiss: (site, index, eventSource) => ({\n    id: \"menu_action_webext_dismiss\",\n    string_id: \"menu_action_dismiss\",\n    icon: \"dismiss\",\n    action: ac.WebExtEvent(at.WEBEXT_DISMISS, {\n      source: eventSource,\n      url: site.url,\n      action_position: index\n    })\n  }),\n  DeleteUrl: (site, index, eventSource, isEnabled, siteInfo) => ({\n    id: \"menu_action_delete\",\n    icon: \"delete\",\n    action: {\n      type: at.DIALOG_OPEN,\n      data: {\n        onConfirm: [\n          ac.AlsoToMain({type: at.DELETE_HISTORY_URL, data: {url: site.url, pocket_id: site.pocket_id, forceBlock: site.bookmarkGuid}}),\n          ac.UserEvent(Object.assign({event: \"DELETE\", source: eventSource, action_position: index}, siteInfo))\n        ],\n        eventSource,\n        body_string_id: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n        confirm_button_string_id: \"menu_action_delete\",\n        cancel_button_string_id: \"topsites_form_cancel_button\",\n        icon: \"modal-delete\"\n      }\n    },\n    userEvent: \"DIALOG_OPEN\"\n  }),\n  ShowFile: (site, index, eventSource, isEnabled, siteInfo, platform) => ({\n    id: GetPlatformString(platform),\n    icon: \"search\",\n    action: ac.OnlyToMain({\n      type: at.SHOW_DOWNLOAD_FILE,\n      data: {url: site.url}\n    })\n  }),\n  OpenFile: site => ({\n    id: \"menu_action_open_file\",\n    icon: \"open-file\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_DOWNLOAD_FILE,\n      data: {url: site.url}\n    })\n  }),\n  CopyDownloadLink: site => ({\n    id: \"menu_action_copy_download_link\",\n    icon: \"copy\",\n    action: ac.OnlyToMain({\n      type: at.COPY_DOWNLOAD_LINK,\n      data: {url: site.url}\n    })\n  }),\n  GoToDownloadPage: site => ({\n    id: \"menu_action_go_to_download_page\",\n    icon: \"download\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: site.referrer}\n    }),\n    disabled: !site.referrer\n  }),\n  RemoveDownload: site => ({\n    id: \"menu_action_remove_download\",\n    icon: \"delete\",\n    action: ac.OnlyToMain({\n      type: at.REMOVE_DOWNLOAD_FILE,\n      data: {url: site.url}\n    })\n  }),\n  PinTopSite: (site, index) => ({\n    id: \"menu_action_pin\",\n    icon: \"pin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_PIN,\n      data: {site: {url: site.url}, index}\n    }),\n    userEvent: \"PIN\"\n  }),\n  UnpinTopSite: site => ({\n    id: \"menu_action_unpin\",\n    icon: \"unpin\",\n    action: ac.AlsoToMain({\n      type: at.TOP_SITES_UNPIN,\n      data: {site: {url: site.url}}\n    }),\n    userEvent: \"UNPIN\"\n  }),\n  SaveToPocket: (site, index, eventSource) => ({\n    id: \"menu_action_save_to_pocket\",\n    icon: \"pocket\",\n    action: ac.AlsoToMain({\n      type: at.SAVE_TO_POCKET,\n      data: {site: {url: site.url, title: site.title}}\n    }),\n    impression: ac.ImpressionStats({\n      source: eventSource,\n      pocket: 0,\n      tiles: [{id: site.guid, pos: index}]\n    }),\n    userEvent: \"SAVE_TO_POCKET\"\n  }),\n  DeleteFromPocket: site => ({\n    id: \"menu_action_delete_pocket\",\n    icon: \"delete\",\n    action: ac.AlsoToMain({\n      type: at.DELETE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"DELETE_FROM_POCKET\"\n  }),\n  ArchiveFromPocket: site => ({\n    id: \"menu_action_archive_pocket\",\n    icon: \"check\",\n    action: ac.AlsoToMain({\n      type: at.ARCHIVE_FROM_POCKET,\n      data: {pocket_id: site.pocket_id}\n    }),\n    userEvent: \"ARCHIVE_FROM_POCKET\"\n  }),\n  EditTopSite: (site, index) => ({\n    id: \"edit_topsites_button_text\",\n    icon: \"edit\",\n    action: {\n      type: at.TOP_SITES_EDIT,\n      data: {index}\n    }\n  }),\n  CheckBookmark: site => (site.bookmarkGuid ? LinkMenuOptions.RemoveBookmark(site) : LinkMenuOptions.AddBookmark(site)),\n  CheckPinTopSite: (site, index) => (site.isPinned ? LinkMenuOptions.UnpinTopSite(site) : LinkMenuOptions.PinTopSite(site, index)),\n  CheckSavedToPocket: (site, index) => (site.pocket_id ? LinkMenuOptions.DeleteFromPocket(site) : LinkMenuOptions.SaveToPocket(site, index)),\n  CheckBookmarkOrArchive: site => (site.pocket_id ? LinkMenuOptions.ArchiveFromPocket(site) : LinkMenuOptions.CheckBookmark(site)),\n  OpenInPrivateWindow: (site, index, eventSource, isEnabled) => (isEnabled ? _OpenInPrivateWindow(site) : LinkMenuOptions.EmptyItem())\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/link-menu-options.js","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport {LinkMenuOptions} from \"content-src/lib/link-menu-options\";\nimport React from \"react\";\n\nconst DEFAULT_SITE_MENU_OPTIONS = [\"CheckPinTopSite\", \"EditTopSite\", \"Separator\", \"OpenInNewWindow\", \"OpenInPrivateWindow\", \"Separator\", \"BlockUrl\"];\n\nexport class _LinkMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n    const {site, index, source, isPrivateBrowsingEnabled, siteInfo, platform} = props;\n\n    // Handle special case of default site\n    const propOptions = !site.isDefault ? props.options : DEFAULT_SITE_MENU_OPTIONS;\n\n    const options = propOptions.map(o => LinkMenuOptions[o](site, index, source, isPrivateBrowsingEnabled, siteInfo, platform)).map(option => {\n      const {action, impression, id, string_id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id: string_id || id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            const userEventData = Object.assign({\n              event: userEvent,\n              source,\n              action_position: index\n            }, siteInfo);\n            props.dispatch(ac.UserEvent(userEventData));\n          }\n          if (impression && props.shouldSendImpressionStats) {\n            props.dispatch(impression);\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nconst getState = state => ({isPrivateBrowsingEnabled: state.Prefs.values.isPrivateBrowsingEnabled, platform: state.Prefs.values.platform});\nexport const LinkMenu = connect(getState)(injectIntl(_LinkMenu));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/LinkMenu/LinkMenu.jsx","import React from \"react\";\n\nexport class ContextMenu extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.hideContext = this.hideContext.bind(this);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  hideContext() {\n    this.props.onUpdate(false);\n  }\n\n  componentDidMount() {\n    setTimeout(() => {\n      global.addEventListener(\"click\", this.hideContext);\n    }, 0);\n  }\n\n  componentWillUnmount() {\n    global.removeEventListener(\"click\", this.hideContext);\n  }\n\n  onClick(event) {\n    // Eat all clicks on the context menu so they don't bubble up to window.\n    // This prevents the context menu from closing when clicking disabled items\n    // or the separators.\n    event.stopPropagation();\n  }\n\n  render() {\n    return (<span className=\"context-menu\" onClick={this.onClick}>\n      <ul role=\"menu\" className=\"context-menu-list\">\n        {this.props.options.map((option, i) => (option.type === \"separator\" ?\n          (<li key={i} className=\"separator\" />) :\n          (option.type !== \"empty\" && <ContextMenuItem key={i} option={option} hideContext={this.hideContext} />)\n        ))}\n      </ul>\n    </span>);\n  }\n}\n\nexport class ContextMenuItem extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onKeyDown = this.onKeyDown.bind(this);\n  }\n\n  onClick() {\n    this.props.hideContext();\n    this.props.option.onClick();\n  }\n\n  onKeyDown(event) {\n    const {option} = this.props;\n    switch (event.key) {\n      case \"Tab\":\n        // tab goes down in context menu, shift + tab goes up in context menu\n        // if we're on the last item, one more tab will close the context menu\n        // similarly, if we're on the first item, one more shift + tab will close it\n        if ((event.shiftKey && option.first) || (!event.shiftKey && option.last)) {\n          this.props.hideContext();\n        }\n        break;\n      case \"Enter\":\n        this.props.hideContext();\n        option.onClick();\n        break;\n    }\n  }\n\n  render() {\n    const {option} = this.props;\n    return (\n      <li role=\"menuitem\" className=\"context-menu-item\">\n        <a onClick={this.onClick} onKeyDown={this.onKeyDown} tabIndex=\"0\" className={option.disabled ? \"disabled\" : \"\"}>\n          {option.icon && <span className={`icon icon-spacer icon-${option.icon}`} />}\n          {option.label}\n        </a>\n      </li>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ContextMenu/ContextMenu.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport React from \"react\";\nimport {SectionMenu} from \"content-src/components/SectionMenu/SectionMenu\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Disclaimer extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onAcknowledge = this.onAcknowledge.bind(this);\n  }\n\n  onAcknowledge() {\n    this.props.dispatch(ac.SetPref(this.props.disclaimerPref, false));\n    this.props.dispatch(ac.UserEvent({event: \"DISCLAIMER_ACKED\", source: this.props.eventSource}));\n  }\n\n  render() {\n    const {disclaimer} = this.props;\n    return (\n      <div className=\"section-disclaimer\">\n          <div className=\"section-disclaimer-text\">\n            {getFormattedMessage(disclaimer.text)}\n            {disclaimer.link &&\n              <a href={disclaimer.link.href} target=\"_blank\" rel=\"noopener noreferrer\">\n                {getFormattedMessage(disclaimer.link.title || disclaimer.link)}\n              </a>\n            }\n          </div>\n\n          <button onClick={this.onAcknowledge}>\n            {getFormattedMessage(disclaimer.button)}\n          </button>\n      </div>\n    );\n  }\n}\n\nexport const DisclaimerIntl = injectIntl(Disclaimer);\n\nexport class _CollapsibleSection extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBodyMount = this.onBodyMount.bind(this);\n    this.onHeaderClick = this.onHeaderClick.bind(this);\n    this.onTransitionEnd = this.onTransitionEnd.bind(this);\n    this.enableOrDisableAnimation = this.enableOrDisableAnimation.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuButtonMouseEnter = this.onMenuButtonMouseEnter.bind(this);\n    this.onMenuButtonMouseLeave = this.onMenuButtonMouseLeave.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.state = {enableAnimation: true, isAnimating: false, menuButtonHover: false, showContextMenu: false};\n  }\n\n  componentWillMount() {\n    this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  componentWillUpdate(nextProps) {\n    // Check if we're about to go from expanded to collapsed\n    if (!this.props.collapsed && nextProps.collapsed) {\n      // This next line forces a layout flush of the section body, which has a\n      // max-height style set, so that the upcoming collapse animation can\n      // animate from that height to the collapsed height. Without this, the\n      // update is coalesced and there's no animation from no-max-height to 0.\n      this.sectionBody.scrollHeight; // eslint-disable-line no-unused-expressions\n    }\n  }\n\n  componentWillUnmount() {\n    this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this.enableOrDisableAnimation);\n  }\n\n  enableOrDisableAnimation() {\n    // Only animate the collapse/expand for visible tabs.\n    const visible = this.props.document.visibilityState === VISIBLE;\n    if (this.state.enableAnimation !== visible) {\n      this.setState({enableAnimation: visible});\n    }\n  }\n\n  onBodyMount(node) {\n    this.sectionBody = node;\n  }\n\n  onHeaderClick() {\n    // If this.sectionBody is unset, it means that we're in some sort of error\n    // state, probably displaying the error fallback, so we won't be able to\n    // compute the height, and we don't want to persist the preference.\n    // If props.collapsed is undefined handler shouldn't do anything.\n    if (!this.sectionBody || this.props.collapsed === undefined) {\n      return;\n    }\n\n    // Get the current height of the body so max-height transitions can work\n    this.setState({\n      isAnimating: true,\n      maxHeight: `${this.sectionBody.scrollHeight}px`\n    });\n    const {action, userEvent} = SectionMenuOptions.CheckCollapsed(this.props);\n    this.props.dispatch(action);\n    this.props.dispatch(ac.UserEvent({\n      event: userEvent,\n      source: this.props.source\n    }));\n  }\n\n  onTransitionEnd(event) {\n    // Only update the animating state for our own transition (not a child's)\n    if (event.target === event.currentTarget) {\n      this.setState({isAnimating: false});\n    }\n  }\n\n  renderIcon() {\n    const {icon} = this.props;\n    if (icon && icon.startsWith(\"moz-extension://\")) {\n      return <span className=\"icon icon-small-spacer\" style={{backgroundImage: `url('${icon}')`}} />;\n    }\n    return <span className={`icon icon-small-spacer icon-${icon || \"webextension\"}`} />;\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuButtonMouseEnter() {\n    this.setState({menuButtonHover: true});\n  }\n\n  onMenuButtonMouseLeave() {\n    this.setState({menuButtonHover: false});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const isCollapsible = this.props.collapsed !== undefined;\n    const {enableAnimation, isAnimating, maxHeight, menuButtonHover, showContextMenu} = this.state;\n    const {id, eventSource, collapsed, disclaimer, title, extraMenuOptions, showPrefName, privacyNoticeURL, dispatch, isFirst, isLast, isWebExtension} = this.props;\n    const disclaimerPref = `section.${id}.showDisclaimer`;\n    const needsDisclaimer = disclaimer && this.props.Prefs.values[disclaimerPref];\n    const active = menuButtonHover || showContextMenu;\n    return (\n      <section\n        className={`collapsible-section ${this.props.className}${enableAnimation ? \" animation-enabled\" : \"\"}${collapsed ? \" collapsed\" : \"\"}${active ? \" active\" : \"\"}`}\n        // Note: data-section-id is used for web extension api tests in mozilla central\n        data-section-id={id}>\n        <div className=\"section-top-bar\">\n          <h3 className=\"section-title\">\n            <span className=\"click-target\" onClick={this.onHeaderClick}>\n              {this.renderIcon()}\n              {getFormattedMessage(title)}\n              {isCollapsible && <span className={`collapsible-arrow icon ${collapsed ? \"icon-arrowhead-forward-small\" : \"icon-arrowhead-down-small\"}`} />}\n            </span>\n          </h3>\n          <div>\n            <button\n              className=\"context-menu-button icon\"\n              onClick={this.onMenuButtonClick}\n              onMouseEnter={this.onMenuButtonMouseEnter}\n              onMouseLeave={this.onMenuButtonMouseLeave}>\n              <span className=\"sr-only\">\n                <FormattedMessage id=\"section_context_menu_button_sr\" />\n              </span>\n            </button>\n            {showContextMenu &&\n              <SectionMenu\n                id={id}\n                extraOptions={extraMenuOptions}\n                eventSource={eventSource}\n                showPrefName={showPrefName}\n                privacyNoticeURL={privacyNoticeURL}\n                collapsed={collapsed}\n                onUpdate={this.onMenuUpdate}\n                isFirst={isFirst}\n                isLast={isLast}\n                dispatch={dispatch}\n                isWebExtension={isWebExtension} />\n            }\n          </div>\n        </div>\n        <ErrorBoundary className=\"section-body-fallback\">\n          <div\n            className={`section-body${isAnimating ? \" animating\" : \"\"}`}\n            onTransitionEnd={this.onTransitionEnd}\n            ref={this.onBodyMount}\n            style={isAnimating && !collapsed ? {maxHeight} : null}>\n            {needsDisclaimer && <DisclaimerIntl disclaimerPref={disclaimerPref} disclaimer={disclaimer} eventSource={eventSource} dispatch={this.props.dispatch} />}\n            {this.props.children}\n          </div>\n        </ErrorBoundary>\n      </section>\n    );\n  }\n}\n\n_CollapsibleSection.defaultProps = {\n  document: global.document || {\n    addEventListener: () => {},\n    removeEventListener: () => {},\n    visibilityState: \"hidden\"\n  },\n  Prefs: {values: {}}\n};\n\nexport const CollapsibleSection = injectIntl(_CollapsibleSection);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/CollapsibleSection/CollapsibleSection.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\n\n/**\n * List of functions that return items that can be included as menu options in a\n * SectionMenu. All functions take the section as the only parameter.\n */\nexport const SectionMenuOptions = {\n  Separator: () => ({type: \"separator\"}),\n  MoveUp: section => ({\n    id: \"section_menu_action_move_up\",\n    icon: \"arrowhead-up\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: -1}\n    }),\n    userEvent: \"MENU_MOVE_UP\",\n    disabled: !!section.isFirst\n  }),\n  MoveDown: section => ({\n    id: \"section_menu_action_move_down\",\n    icon: \"arrowhead-down\",\n    action: ac.OnlyToMain({\n      type: at.SECTION_MOVE,\n      data: {id: section.id, direction: +1}\n    }),\n    userEvent: \"MENU_MOVE_DOWN\",\n    disabled: !!section.isLast\n  }),\n  RemoveSection: section => ({\n    id: \"section_menu_action_remove_section\",\n    icon: \"dismiss\",\n    action: ac.SetPref(section.showPrefName, false),\n    userEvent: \"MENU_REMOVE\"\n  }),\n  CollapseSection: section => ({\n    id: \"section_menu_action_collapse_section\",\n    icon: \"minimize\",\n    action: ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data: {id: section.id, value: {collapsed: true}}}),\n    userEvent: \"MENU_COLLAPSE\"\n  }),\n  ExpandSection: section => ({\n    id: \"section_menu_action_expand_section\",\n    icon: \"maximize\",\n    action: ac.OnlyToMain({type: at.UPDATE_SECTION_PREFS, data: {id: section.id, value: {collapsed: false}}}),\n    userEvent: \"MENU_EXPAND\"\n  }),\n  ManageSection: section => ({\n    id: \"section_menu_action_manage_section\",\n    icon: \"settings\",\n    action: ac.OnlyToMain({type: at.SETTINGS_OPEN}),\n    userEvent: \"MENU_MANAGE\"\n  }),\n  ManageWebExtension: section => ({\n    id: \"section_menu_action_manage_webext\",\n    icon: \"settings\",\n    action: ac.OnlyToMain({type: at.OPEN_WEBEXT_SETTINGS, data: section.id})\n  }),\n  AddTopSite: section => ({\n    id: \"section_menu_action_add_topsite\",\n    icon: \"add\",\n    action: {type: at.TOP_SITES_EDIT, data: {index: -1}},\n    userEvent: \"MENU_ADD_TOPSITE\"\n  }),\n  PrivacyNotice: section => ({\n    id: \"section_menu_action_privacy_notice\",\n    icon: \"info\",\n    action: ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: {url: section.privacyNoticeURL}\n    }),\n    userEvent: \"MENU_PRIVACY_NOTICE\"\n  }),\n  CheckCollapsed: section => (section.collapsed ? SectionMenuOptions.ExpandSection(section) : SectionMenuOptions.CollapseSection(section))\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/section-menu-options.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\nimport React from \"react\";\n\n// Currently record only a fixed set of sections. This will prevent data\n// from custom sections from showing up or from topstories.\nconst RECORDED_SECTIONS = [\"highlights\", \"topsites\"];\n\nexport class ComponentPerfTimer extends React.Component {\n  constructor(props) {\n    super(props);\n    // Just for test dependency injection:\n    this.perfSvc = this.props.perfSvc || perfSvc;\n\n    this._sendBadStateEvent = this._sendBadStateEvent.bind(this);\n    this._sendPaintedEvent = this._sendPaintedEvent.bind(this);\n    this._reportMissingData = false;\n    this._timestampHandled = false;\n    this._recordedFirstRender = false;\n  }\n\n  componentDidMount() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  componentDidUpdate() {\n    if (!RECORDED_SECTIONS.includes(this.props.id)) {\n      return;\n    }\n\n    this._maybeSendPaintedEvent();\n  }\n\n  /**\n   * Call the given callback after the upcoming frame paints.\n   *\n   * @note Both setTimeout and requestAnimationFrame are throttled when the page\n   * is hidden, so this callback may get called up to a second or so after the\n   * requestAnimationFrame \"paint\" for hidden tabs.\n   *\n   * Newtabs hidden while loading will presumably be fairly rare (other than\n   * preloaded tabs, which we will be filtering out on the server side), so such\n   * cases should get lost in the noise.\n   *\n   * If we decide that it's important to find out when something that's hidden\n   * has \"painted\", however, another option is to post a message to this window.\n   * That should happen even faster than setTimeout, and, at least as of this\n   * writing, it's not throttled in hidden windows in Firefox.\n   *\n   * @param {Function} callback\n   *\n   * @returns void\n   */\n  _afterFramePaint(callback) {\n    requestAnimationFrame(() => setTimeout(callback, 0));\n  }\n\n  _maybeSendBadStateEvent() {\n    // Follow up bugs:\n    // https://github.com/mozilla/activity-stream/issues/3691\n    if (!this.props.initialized) {\n      // Remember to report back when data is available.\n      this._reportMissingData = true;\n    } else if (this._reportMissingData) {\n      this._reportMissingData = false;\n      // Report how long it took for component to become initialized.\n      this._sendBadStateEvent();\n    }\n  }\n\n  _maybeSendPaintedEvent() {\n    // If we've already handled a timestamp, don't do it again.\n    if (this._timestampHandled || !this.props.initialized) {\n      return;\n    }\n\n    // And if we haven't, we're doing so now, so remember that. Even if\n    // something goes wrong in the callback, we can't try again, as we'd be\n    // sending back the wrong data, and we have to do it here, so that other\n    // calls to this method while waiting for the next frame won't also try to\n    // handle it.\n    this._timestampHandled = true;\n    this._afterFramePaint(this._sendPaintedEvent);\n  }\n\n  /**\n   * Triggered by call to render. Only first call goes through due to\n   * `_recordedFirstRender`.\n   */\n  _ensureFirstRenderTsRecorded() {\n    // Used as t0 for recording how long component took to initialize.\n    if (!this._recordedFirstRender) {\n      this._recordedFirstRender = true;\n      // topsites_first_render_ts, highlights_first_render_ts.\n      const key = `${this.props.id}_first_render_ts`;\n      this.perfSvc.mark(key);\n    }\n  }\n\n  /**\n   * Creates `TELEMETRY_UNDESIRED_EVENT` with timestamp in ms\n   * of how much longer the data took to be ready for display than it would\n   * have been the ideal case.\n   * https://github.com/mozilla/ping-centre/issues/98\n   */\n  _sendBadStateEvent() {\n    // highlights_data_ready_ts, topsites_data_ready_ts.\n    const dataReadyKey = `${this.props.id}_data_ready_ts`;\n    this.perfSvc.mark(dataReadyKey);\n\n    try {\n      const firstRenderKey = `${this.props.id}_first_render_ts`;\n      // value has to be Int32.\n      const value = parseInt(this.perfSvc.getMostRecentAbsMarkStartByName(dataReadyKey) -\n                             this.perfSvc.getMostRecentAbsMarkStartByName(firstRenderKey), 10);\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        // highlights_data_late_by_ms, topsites_data_late_by_ms.\n        data: {[`${this.props.id}_data_late_by_ms`]: value}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.\n    }\n  }\n\n  _sendPaintedEvent() {\n    // Record first_painted event but only send if topsites.\n    if (this.props.id !== \"topsites\") {\n      return;\n    }\n\n    // topsites_first_painted_ts.\n    const key = `${this.props.id}_first_painted_ts`;\n    this.perfSvc.mark(key);\n\n    try {\n      const data = {};\n      data[key] = this.perfSvc.getMostRecentAbsMarkStartByName(key);\n\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up, and should continue\n      // to set this._timestampHandled to avoid going through this again.\n    }\n  }\n\n  render() {\n    if (RECORDED_SECTIONS.includes(this.props.id)) {\n      this._ensureFirstRenderTsRecorded();\n      this._maybeSendBadStateEvent();\n    }\n    return this.props.children;\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ComponentPerfTimer/ComponentPerfTimer.jsx","/* globals Services */\n\"use strict\";\n\n/* istanbul ignore if */\nif (typeof ChromeUtils !== \"undefined\") {\n  ChromeUtils.import(\"resource://gre/modules/Services.jsm\");\n}\n\nlet usablePerfObj;\n\n/* istanbul ignore if */\n/* istanbul ignore else */\nif (typeof Services !== \"undefined\") {\n  // Borrow the high-resolution timer from the hidden window....\n  usablePerfObj = Services.appShell.hiddenDOMWindow.performance;\n} else if (typeof performance !== \"undefined\") {\n  // we must be running in content space\n  // eslint-disable-next-line no-undef\n  usablePerfObj = performance;\n} else {\n  // This is a dummy object so this file doesn't crash in the node prerendering\n  // task.\n  usablePerfObj = {\n    now() {},\n    mark() {}\n  };\n}\n\nfunction _PerfService(options) {\n  // For testing, so that we can use a fake Window.performance object with\n  // known state.\n  if (options && options.performanceObj) {\n    this._perf = options.performanceObj;\n  } else {\n    this._perf = usablePerfObj;\n  }\n}\n\n_PerfService.prototype = {\n  /**\n   * Calls the underlying mark() method on the appropriate Window.performance\n   * object to add a mark with the given name to the appropriate performance\n   * timeline.\n   *\n   * @param  {String} name  the name to give the current mark\n   * @return {void}\n   */\n  mark: function mark(str) {\n    this._perf.mark(str);\n  },\n\n  /**\n   * Calls the underlying getEntriesByName on the appropriate Window.performance\n   * object.\n   *\n   * @param  {String} name\n   * @param  {String} type eg \"mark\"\n   * @return {Array}       Performance* objects\n   */\n  getEntriesByName: function getEntriesByName(name, type) {\n    return this._perf.getEntriesByName(name, type);\n  },\n\n  /**\n   * The timeOrigin property from the appropriate performance object.\n   * Used to ensure that timestamps from the add-on code and the content code\n   * are comparable.\n   *\n   * @note If this is called from a context without a window\n   * (eg a JSM in chrome), it will return the timeOrigin of the XUL hidden\n   * window, which appears to be the first created window (and thus\n   * timeOrigin) in the browser.  Note also, however, there is also a private\n   * hidden window, presumably for private browsing, which appears to be\n   * created dynamically later.  Exactly how/when that shows up needs to be\n   * investigated.\n   *\n   * @return {Number} A double of milliseconds with a precision of 0.5us.\n   */\n  get timeOrigin() {\n    return this._perf.timeOrigin;\n  },\n\n  /**\n   * Returns the \"absolute\" version of performance.now(), i.e. one that\n   * should ([bug 1401406](https://bugzilla.mozilla.org/show_bug.cgi?id=1401406)\n   * be comparable across both chrome and content.\n   *\n   * @return {Number}\n   */\n  absNow: function absNow() {\n    return this.timeOrigin + this._perf.now();\n  },\n\n  /**\n   * This returns the absolute startTime from the most recent performance.mark()\n   * with the given name.\n   *\n   * @param  {String} name  the name to lookup the start time for\n   *\n   * @return {Number}       the returned start time, as a DOMHighResTimeStamp\n   *\n   * @throws {Error}        \"No Marks with the name ...\" if none are available\n   *\n   * @note Always surround calls to this by try/catch.  Otherwise your code\n   * may fail when the `privacy.resistFingerprinting` pref is true.  When\n   * this pref is set, all attempts to get marks will likely fail, which will\n   * cause this method to throw.\n   *\n   * See [bug 1369303](https://bugzilla.mozilla.org/show_bug.cgi?id=1369303)\n   * for more info.\n   */\n  getMostRecentAbsMarkStartByName(name) {\n    let entries = this.getEntriesByName(name, \"mark\");\n\n    if (!entries.length) {\n      throw new Error(`No marks with the name ${name}`);\n    }\n\n    let mostRecentEntry = entries[entries.length - 1];\n    return this._perf.timeOrigin + mostRecentEntry.startTime;\n  }\n};\n\nthis.perfService = new _PerfService();\nconst EXPORTED_SYMBOLS = [\"_PerfService\", \"perfService\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PerfService.jsm","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {\n  MIN_CORNER_FAVICON_SIZE,\n  MIN_RICH_FAVICON_SIZE,\n  TOP_SITES_CONTEXT_MENU_OPTIONS,\n  TOP_SITES_SOURCE\n} from \"./TopSitesConstants\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\n\nexport class TopSiteLink extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onDragEvent = this.onDragEvent.bind(this);\n  }\n\n  /*\n   * Helper to determine whether the drop zone should allow a drop. We only allow\n   * dropping top sites for now.\n   */\n  _allowDrop(e) {\n    return e.dataTransfer.types.includes(\"text/topsite-index\");\n  }\n\n  onDragEvent(event) {\n    switch (event.type) {\n      case \"click\":\n        // Stop any link clicks if we started any dragging\n        if (this.dragged) {\n          event.preventDefault();\n        }\n        break;\n      case \"dragstart\":\n        this.dragged = true;\n        event.dataTransfer.effectAllowed = \"move\";\n        event.dataTransfer.setData(\"text/topsite-index\", this.props.index);\n        event.target.blur();\n        this.props.onDragEvent(event, this.props.index, this.props.link, this.props.title);\n        break;\n      case \"dragend\":\n        this.props.onDragEvent(event);\n        break;\n      case \"dragenter\":\n      case \"dragover\":\n      case \"drop\":\n        if (this._allowDrop(event)) {\n          event.preventDefault();\n          this.props.onDragEvent(event, this.props.index);\n        }\n        break;\n      case \"mousedown\":\n        // Reset at the first mouse event of a potential drag\n        this.dragged = false;\n        break;\n    }\n  }\n\n  render() {\n    const {children, className, defaultStyle, isDraggable, link, onClick, title} = this.props;\n    const topSiteOuterClassName = `top-site-outer${className ? ` ${className}` : \"\"}${link.isDragged ? \" dragged\" : \"\"}`;\n    const {tippyTopIcon, faviconSize} = link;\n    const [letterFallback] = title;\n    let imageClassName;\n    let imageStyle;\n    let showSmallFavicon = false;\n    let smallFaviconStyle;\n    let smallFaviconFallback;\n    if (defaultStyle) { // force no styles (letter fallback) even if the link has imagery\n      smallFaviconFallback = false;\n    } else if (link.customScreenshotURL) {\n      // assume high quality custom screenshot and use rich icon styles and class names\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${link.screenshot})`\n      };\n    } else if (tippyTopIcon || faviconSize >= MIN_RICH_FAVICON_SIZE) {\n      // styles and class names for top sites with rich icons\n      imageClassName = \"top-site-icon rich-icon\";\n      imageStyle = {\n        backgroundColor: link.backgroundColor,\n        backgroundImage: `url(${tippyTopIcon || link.favicon})`\n      };\n    } else {\n      // styles and class names for top sites with screenshot + small icon in top left corner\n      imageClassName = `screenshot${link.screenshot ? \" active\" : \"\"}`;\n      imageStyle = {backgroundImage: link.screenshot ? `url(${link.screenshot})` : \"none\"};\n\n      // only show a favicon in top left if it's greater than 16x16\n      if (faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n        showSmallFavicon = true;\n        smallFaviconStyle = {backgroundImage:  `url(${link.favicon})`};\n      } else if (link.screenshot) {\n        // Don't show a small favicon if there is no screenshot, because that\n        // would result in two fallback icons\n        showSmallFavicon = true;\n        smallFaviconFallback = true;\n      }\n    }\n    let draggableProps = {};\n    if (isDraggable) {\n      draggableProps = {\n        onClick: this.onDragEvent,\n        onDragEnd: this.onDragEvent,\n        onDragStart: this.onDragEvent,\n        onMouseDown: this.onDragEvent\n      };\n    }\n    return (<li className={topSiteOuterClassName} onDrop={this.onDragEvent} onDragOver={this.onDragEvent} onDragEnter={this.onDragEvent} onDragLeave={this.onDragEvent} {...draggableProps}>\n      <div className=\"top-site-inner\">\n         <a href={link.url} onClick={onClick}>\n            <div className=\"tile\" aria-hidden={true} data-fallback={letterFallback}>\n              <div className={imageClassName} style={imageStyle} />\n              {showSmallFavicon && <div\n                className=\"top-site-icon default-icon\"\n                data-fallback={smallFaviconFallback && letterFallback}\n                style={smallFaviconStyle} />}\n           </div>\n           <div className={`title ${link.isPinned ? \"pinned\" : \"\"}`}>\n             {link.isPinned && <div className=\"icon icon-pin-small\" />}\n              <span dir=\"auto\">{title}</span>\n           </div>\n         </a>\n         {children}\n      </div>\n    </li>);\n  }\n}\nTopSiteLink.defaultProps = {\n  title: \"\",\n  link: {},\n  isDraggable: true\n};\n\nexport class TopSite extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {showContextMenu: false};\n    this.onLinkClick = this.onLinkClick.bind(this);\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    const value = {icon_type: this.props.link.iconType};\n    // Filter out \"not_pinned\" type for being the default\n    if (this.props.link.isPinned) {\n      value.card_type = \"pinned\";\n    }\n    return {value};\n  }\n\n  userEvent(event) {\n    this.props.dispatch(ac.UserEvent(Object.assign({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: this.props.index\n    }, this._getTelemetryInfo())));\n  }\n\n  onLinkClick(event) {\n    this.userEvent(\"CLICK\");\n\n    // Specially handle a top site link click for \"typed\" frecency bonus as\n    // specified as a property on the link.\n    event.preventDefault();\n    const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n    this.props.dispatch(ac.OnlyToMain({\n      type: at.OPEN_LINK,\n      data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n    }));\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.props.onActivate(this.props.index);\n    this.setState({showContextMenu: true});\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  render() {\n    const {props} = this;\n    const {link} = props;\n    const isContextMenuOpen = this.state.showContextMenu && props.activeIndex === props.index;\n    const title = link.label || link.hostname;\n    return (<TopSiteLink {...props} onClick={this.onLinkClick} onDragEvent={this.props.onDragEvent} className={`${props.className || \"\"}${isContextMenuOpen ? \" active\" : \"\"}`} title={title}>\n        <div>\n          <button className=\"context-menu-button icon\" onClick={this.onMenuButtonClick}>\n            <span className=\"sr-only\">\n              <FormattedMessage id=\"context_menu_button_sr\" values={{title}} />\n            </span>\n          </button>\n          {isContextMenuOpen &&\n            <LinkMenu\n              dispatch={props.dispatch}\n              index={props.index}\n              onUpdate={this.onMenuUpdate}\n              options={TOP_SITES_CONTEXT_MENU_OPTIONS}\n              site={link}\n              siteInfo={this._getTelemetryInfo()}\n              source={TOP_SITES_SOURCE} />\n          }\n        </div>\n    </TopSiteLink>);\n  }\n}\nTopSite.defaultProps = {\n  link: {},\n  onActivate() {}\n};\n\nexport class TopSitePlaceholder extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onEditButtonClick = this.onEditButtonClick.bind(this);\n  }\n\n  onEditButtonClick() {\n    this.props.dispatch(\n      {type: at.TOP_SITES_EDIT, data: {index: this.props.index}});\n  }\n\n  render() {\n    return (<TopSiteLink {...this.props} className={`placeholder ${this.props.className || \"\"}`} isDraggable={false}>\n      <button className=\"context-menu-button edit-button icon\"\n       title={this.props.intl.formatMessage({id: \"edit_topsites_edit_button\"})}\n       onClick={this.onEditButtonClick} />\n    </TopSiteLink>);\n  }\n}\n\nexport class _TopSiteList extends React.PureComponent {\n  static get DEFAULT_STATE() {\n    return {\n      activeIndex: null,\n      draggedIndex: null,\n      draggedSite: null,\n      draggedTitle: null,\n      topSitesPreview: null\n    };\n  }\n\n  constructor(props) {\n    super(props);\n    this.state = _TopSiteList.DEFAULT_STATE;\n    this.onDragEvent = this.onDragEvent.bind(this);\n    this.onActivate = this.onActivate.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (this.state.draggedSite) {\n      const prevTopSites = this.props.TopSites && this.props.TopSites.rows;\n      const newTopSites = nextProps.TopSites && nextProps.TopSites.rows;\n      if (prevTopSites && prevTopSites[this.state.draggedIndex] &&\n        prevTopSites[this.state.draggedIndex].url === this.state.draggedSite.url &&\n        (!newTopSites[this.state.draggedIndex] || newTopSites[this.state.draggedIndex].url !== this.state.draggedSite.url)) {\n        // We got the new order from the redux store via props. We can clear state now.\n        this.setState(_TopSiteList.DEFAULT_STATE);\n      }\n    }\n  }\n\n  userEvent(event, index) {\n    this.props.dispatch(ac.UserEvent({\n      event,\n      source: TOP_SITES_SOURCE,\n      action_position: index\n    }));\n  }\n\n  onDragEvent(event, index, link, title) {\n    switch (event.type) {\n      case \"dragstart\":\n        this.dropped = false;\n        this.setState({\n          draggedIndex: index,\n          draggedSite: link,\n          draggedTitle: title,\n          activeIndex: null\n        });\n        this.userEvent(\"DRAG\", index);\n        break;\n      case \"dragend\":\n        if (!this.dropped) {\n          // If there was no drop event, reset the state to the default.\n          this.setState(_TopSiteList.DEFAULT_STATE);\n        }\n        break;\n      case \"dragenter\":\n        if (index === this.state.draggedIndex) {\n          this.setState({topSitesPreview: null});\n        } else {\n          this.setState({topSitesPreview: this._makeTopSitesPreview(index)});\n        }\n        break;\n      case \"drop\":\n        if (index !== this.state.draggedIndex) {\n          this.dropped = true;\n          this.props.dispatch(ac.AlsoToMain({\n            type: at.TOP_SITES_INSERT,\n            data: {\n              site: {\n                url: this.state.draggedSite.url,\n                label: this.state.draggedTitle,\n                customScreenshotURL: this.state.draggedSite.customScreenshotURL\n              },\n              index,\n              draggedFromIndex: this.state.draggedIndex\n            }\n          }));\n          this.userEvent(\"DROP\", index);\n        }\n        break;\n    }\n  }\n\n  _getTopSites() {\n    // Make a copy of the sites to truncate or extend to desired length\n    let topSites = this.props.TopSites.rows.slice();\n    topSites.length = this.props.TopSitesRows * TOP_SITES_MAX_SITES_PER_ROW;\n    return topSites;\n  }\n\n  /**\n   * Make a preview of the topsites that will be the result of dropping the currently\n   * dragged site at the specified index.\n   */\n  _makeTopSitesPreview(index) {\n    const topSites = this._getTopSites();\n    topSites[this.state.draggedIndex] = null;\n    const pinnedOnly = topSites.map(site => ((site && site.isPinned) ? site : null));\n    const unpinned = topSites.filter(site => site && !site.isPinned);\n    const siteToInsert = Object.assign({}, this.state.draggedSite, {isPinned: true, isDragged: true});\n    if (!pinnedOnly[index]) {\n      pinnedOnly[index] = siteToInsert;\n    } else {\n      // Find the hole to shift the pinned site(s) towards. We shift towards the\n      // hole left by the site being dragged.\n      let holeIndex = index;\n      const indexStep = index > this.state.draggedIndex ? -1 : 1;\n      while (pinnedOnly[holeIndex]) {\n        holeIndex += indexStep;\n      }\n\n      // Shift towards the hole.\n      const shiftingStep = index > this.state.draggedIndex ? 1 : -1;\n      while (holeIndex !== index) {\n        const nextIndex = holeIndex + shiftingStep;\n        pinnedOnly[holeIndex] = pinnedOnly[nextIndex];\n        holeIndex = nextIndex;\n      }\n      pinnedOnly[index] = siteToInsert;\n    }\n\n    // Fill in the remaining holes with unpinned sites.\n    const preview = pinnedOnly;\n    for (let i = 0; i < preview.length; i++) {\n      if (!preview[i]) {\n        preview[i] = unpinned.shift() || null;\n      }\n    }\n\n    return preview;\n  }\n\n  onActivate(index) {\n    this.setState({activeIndex: index});\n  }\n\n  render() {\n    const {props} = this;\n    const topSites = this.state.topSitesPreview || this._getTopSites();\n    const topSitesUI = [];\n    const commonProps = {\n      onDragEvent: this.onDragEvent,\n      dispatch: props.dispatch,\n      intl: props.intl\n    };\n    // We assign a key to each placeholder slot. We need it to be independent\n    // of the slot index (i below) so that the keys used stay the same during\n    // drag and drop reordering and the underlying DOM nodes are reused.\n    // This mostly (only?) affects linux so be sure to test on linux before changing.\n    let holeIndex = 0;\n\n    // On narrow viewports, we only show 6 sites per row. We'll mark the rest as\n    // .hide-for-narrow to hide in CSS via @media query.\n    const maxNarrowVisibleIndex = props.TopSitesRows * 6;\n\n    for (let i = 0, l = topSites.length; i < l; i++) {\n      const link = topSites[i] && Object.assign({}, topSites[i], {iconType: this.props.topSiteIconType(topSites[i])});\n      const slotProps = {\n        key: link ? link.url : holeIndex++,\n        index: i\n      };\n      if (i >= maxNarrowVisibleIndex) {\n        slotProps.className = \"hide-for-narrow\";\n      }\n      topSitesUI.push(!link ? (\n        <TopSitePlaceholder\n          {...slotProps}\n          {...commonProps} />\n      ) : (\n        <TopSite\n          link={link}\n          activeIndex={this.state.activeIndex}\n          onActivate={this.onActivate}\n          {...slotProps}\n          {...commonProps} />\n      ));\n    }\n    return (<ul className={`top-sites-list${this.state.draggedSite ? \" dnd-active\" : \"\"}`}>\n      {topSitesUI}\n    </ul>);\n  }\n}\n\nexport const TopSiteList = injectIntl(_TopSiteList);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSite.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addSnippetsSubscriber} from \"content-src/lib/snippets\";\nimport {Base} from \"content-src/components/Base/Base\";\nimport {DetectUserSessionStart} from \"content-src/lib/detect-user-session-start\";\nimport {initStore} from \"content-src/lib/init-store\";\nimport {Provider} from \"react-redux\";\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport {reducers} from \"common/Reducers.jsm\";\n\nconst store = initStore(reducers, global.gActivityStreamPrerenderedState);\n\nnew DetectUserSessionStart(store).sendEventOrAddListener();\n\n// If we are starting in a prerendered state, we must wait until the first render\n// to request state rehydration (see Base.jsx). If we are NOT in a prerendered state,\n// we can request it immedately.\nif (!global.gActivityStreamPrerenderedState) {\n  store.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n}\n\nReactDOM.hydrate(<Provider store={store}>\n  <Base\n    isFirstrun={global.document.location.href === \"about:welcome\"}\n    isPrerendered={!!global.gActivityStreamPrerenderedState}\n    locale={global.document.documentElement.lang}\n    strings={global.gActivityStreamStrings} />\n</Provider>, document.getElementById(\"root\"));\n\naddSnippetsSubscriber(store);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/activity-stream.jsx","const DATABASE_NAME = \"snippets_db\";\nconst DATABASE_VERSION = 1;\nconst SNIPPETS_OBJECTSTORE_NAME = \"snippets\";\nexport const SNIPPETS_UPDATE_INTERVAL_MS = 14400000; // 4 hours.\n\nconst SNIPPETS_ENABLED_EVENT = \"Snippets:Enabled\";\nconst SNIPPETS_DISABLED_EVENT = \"Snippets:Disabled\";\n\nimport {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {initASRouter} from \"content-src/asrouter/asrouter-content\";\n\n/**\n * SnippetsMap - A utility for cacheing values related to the snippet. It has\n *               the same interface as a Map, but is optionally backed by\n *               indexedDB for persistent storage.\n *               Call .connect() to open a database connection and restore any\n *               previously cached data, if necessary.\n *\n */\nexport class SnippetsMap extends Map {\n  constructor(dispatch) {\n    super();\n    this._db = null;\n    this._dispatch = dispatch;\n  }\n\n  set(key, value) {\n    super.set(key, value);\n    return this._dbTransaction(db => db.put(value, key));\n  }\n\n  delete(key) {\n    super.delete(key);\n    return this._dbTransaction(db => db.delete(key));\n  }\n\n  clear() {\n    super.clear();\n    this._dispatch(ac.OnlyToMain({type: at.SNIPPETS_BLOCKLIST_CLEARED}));\n    return this._dbTransaction(db => db.clear());\n  }\n\n  get blockList() {\n    return this.get(\"blockList\") || [];\n  }\n\n  /**\n   * blockSnippetById - Blocks a snippet given an id\n   *\n   * @param  {str|int} id   The id of the snippet\n   * @return {Promise}      Resolves when the id has been written to indexedDB,\n   *                        or immediately if the snippetMap is not connected\n   */\n  async blockSnippetById(id) {\n    if (!id) {\n      return;\n    }\n    const {blockList} = this;\n    if (!blockList.includes(id)) {\n      blockList.push(id);\n      this._dispatch(ac.AlsoToMain({type: at.SNIPPETS_BLOCKLIST_UPDATED, data: id}));\n      await this.set(\"blockList\", blockList);\n    }\n  }\n\n  disableOnboarding() {\n    this._dispatch(ac.AlsoToMain({type: at.DISABLE_ONBOARDING}));\n  }\n\n  showFirefoxAccounts() {\n    this._dispatch(ac.AlsoToMain({type: at.SHOW_FIREFOX_ACCOUNTS}));\n  }\n\n  getTotalBookmarksCount() {\n    return new Promise(resolve => {\n      this._dispatch(ac.OnlyToMain({type: at.TOTAL_BOOKMARKS_REQUEST}));\n      global.addMessageListener(\"ActivityStream:MainToContent\", function onMessage({data: action}) {\n        if (action.type === at.TOTAL_BOOKMARKS_RESPONSE) {\n          resolve(action.data);\n          global.removeMessageListener(\"ActivityStream:MainToContent\", onMessage);\n        }\n      });\n    });\n  }\n\n  /**\n   * connect - Attaches an indexedDB back-end to the Map so that any set values\n   *           are also cached in a store. It also restores any existing values\n   *           that are already stored in the indexedDB store.\n   *\n   * @return {type}  description\n   */\n  async connect() {\n    // Open the connection\n    const db = await this._openDB();\n\n    // Restore any existing values\n    await this._restoreFromDb(db);\n\n    // Attach a reference to the db\n    this._db = db;\n  }\n\n  /**\n   * _dbTransaction - Returns a db transaction wrapped with the given modifier\n   *                  function as a Promise. If the db has not been connected,\n   *                  it resolves immediately.\n   *\n   * @param  {func} modifier A function to call with the transaction\n   * @return {obj}           A Promise that resolves when the transaction has\n   *                         completed or errored\n   */\n  _dbTransaction(modifier) {\n    if (!this._db) {\n      return Promise.resolve();\n    }\n    return new Promise((resolve, reject) => {\n      const transaction = modifier(\n        this._db\n          .transaction(SNIPPETS_OBJECTSTORE_NAME, \"readwrite\")\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME)\n      );\n      transaction.onsuccess = event => resolve();\n\n      /* istanbul ignore next */\n      transaction.onerror = event => reject(transaction.error);\n    });\n  }\n\n  _openDB() {\n    return new Promise((resolve, reject) => {\n      const openRequest = indexedDB.open(DATABASE_NAME, DATABASE_VERSION);\n\n      /* istanbul ignore next */\n      openRequest.onerror = event => {\n        // Try to delete the old database so that we can start this process over\n        // next time.\n        indexedDB.deleteDatabase(DATABASE_NAME);\n        reject(event);\n      };\n\n      openRequest.onupgradeneeded = event => {\n        const db = event.target.result;\n        if (!db.objectStoreNames.contains(SNIPPETS_OBJECTSTORE_NAME)) {\n          db.createObjectStore(SNIPPETS_OBJECTSTORE_NAME);\n        }\n      };\n\n      openRequest.onsuccess = event => {\n        let db = event.target.result;\n\n        /* istanbul ignore next */\n        db.onerror = err => console.error(err); // eslint-disable-line no-console\n        /* istanbul ignore next */\n        db.onversionchange = versionChangeEvent => versionChangeEvent.target.close();\n\n        resolve(db);\n      };\n    });\n  }\n\n  _restoreFromDb(db) {\n    return new Promise((resolve, reject) => {\n      let cursorRequest;\n      try {\n        cursorRequest = db.transaction(SNIPPETS_OBJECTSTORE_NAME)\n          .objectStore(SNIPPETS_OBJECTSTORE_NAME).openCursor();\n      } catch (err) {\n        // istanbul ignore next\n        reject(err);\n        // istanbul ignore next\n        return;\n      }\n\n      /* istanbul ignore next */\n      cursorRequest.onerror = event => reject(event);\n\n      cursorRequest.onsuccess = event => {\n        let cursor = event.target.result;\n        // Populate the cache from the persistent storage.\n        if (cursor) {\n          if (cursor.value !== \"blockList\") {\n            this.set(cursor.key, cursor.value);\n          }\n          cursor.continue();\n        } else {\n          // We are done.\n          resolve();\n        }\n      };\n    });\n  }\n}\n\n/**\n * SnippetsProvider - Initializes a SnippetsMap and loads snippets from a\n *                    remote location, or else default snippets if the remote\n *                    snippets cannot be retrieved.\n */\nexport class SnippetsProvider {\n  constructor(dispatch) {\n    // Initialize the Snippets Map and attaches it to a global so that\n    // the snippet payload can interact with it.\n    global.gSnippetsMap = new SnippetsMap(dispatch);\n    this._onAction = this._onAction.bind(this);\n  }\n\n  get snippetsMap() {\n    return global.gSnippetsMap;\n  }\n\n  async _refreshSnippets() {\n    // Check if the cached version of of the snippets in snippetsMap. If it's too\n    // old, blow away the entire snippetsMap.\n    const cachedVersion = this.snippetsMap.get(\"snippets-cached-version\");\n\n    if (cachedVersion !== this.appData.version) {\n      this.snippetsMap.clear();\n    }\n\n    // Has enough time passed for us to require an update?\n    const lastUpdate = this.snippetsMap.get(\"snippets-last-update\");\n    const needsUpdate = !(lastUpdate >= 0) || Date.now() - lastUpdate > SNIPPETS_UPDATE_INTERVAL_MS;\n\n    if (needsUpdate && this.appData.snippetsURL) {\n      this.snippetsMap.set(\"snippets-last-update\", Date.now());\n      try {\n        const response = await fetch(this.appData.snippetsURL);\n        if (response.status === 200) {\n          const payload = await response.text();\n\n          this.snippetsMap.set(\"snippets\", payload);\n          this.snippetsMap.set(\"snippets-cached-version\", this.appData.version);\n        }\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n  }\n\n  _noSnippetFallback() {\n    // TODO\n  }\n\n  _forceOnboardingVisibility(shouldBeVisible) {\n    const onboardingEl = document.getElementById(\"onboarding-notification-bar\");\n\n    if (onboardingEl) {\n      onboardingEl.style.display = shouldBeVisible ? \"\" : \"none\";\n    }\n  }\n\n  _showRemoteSnippets() {\n    const snippetsEl = document.getElementById(this.elementId);\n    const payload = this.snippetsMap.get(\"snippets\");\n\n    if (!snippetsEl) {\n      throw new Error(`No element was found with id '${this.elementId}'.`);\n    }\n\n    // This could happen if fetching failed\n    if (!payload) {\n      throw new Error(\"No remote snippets were found in gSnippetsMap.\");\n    }\n\n    if (typeof payload !== \"string\") {\n      throw new Error(\"Snippet payload was incorrectly formatted\");\n    }\n\n    // Note that injecting snippets can throw if they're invalid XML.\n    // eslint-disable-next-line no-unsanitized/property\n    snippetsEl.innerHTML = payload;\n\n    // Scripts injected by innerHTML are inactive, so we have to relocate them\n    // through DOM manipulation to activate their contents.\n    for (const scriptEl of snippetsEl.getElementsByTagName(\"script\")) {\n      const relocatedScript = document.createElement(\"script\");\n      relocatedScript.text = scriptEl.text;\n      scriptEl.parentNode.replaceChild(relocatedScript, scriptEl);\n    }\n  }\n\n  _onAction(msg) {\n    if (msg.data.type === at.SNIPPET_BLOCKED) {\n      if (!this.snippetsMap.blockList.includes(msg.data.data)) {\n        this.snippetsMap.set(\"blockList\", this.snippetsMap.blockList.concat(msg.data.data));\n        document.getElementById(\"snippets-container\").style.display = \"none\";\n      }\n    }\n  }\n\n  /**\n   * init - Fetch the snippet payload and show snippets\n   *\n   * @param  {obj} options\n   * @param  {str} options.appData.snippetsURL  The URL from which we fetch snippets\n   * @param  {int} options.appData.version  The current snippets version\n   * @param  {str} options.elementId  The id of the element in which to inject snippets\n   * @param  {bool} options.connect  Should gSnippetsMap connect to indexedDB?\n   */\n  async init(options) {\n    Object.assign(this, {\n      appData: {},\n      elementId: \"snippets\",\n      connect: true\n    }, options);\n\n    // Add listener so we know when snippets are blocked on other pages\n    if (global.addMessageListener) {\n      global.addMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n\n    // TODO: Requires enabling indexedDB on newtab\n    // Restore the snippets map from indexedDB\n    if (this.connect) {\n      try {\n        await this.snippetsMap.connect();\n      } catch (e) {\n        console.error(e); // eslint-disable-line no-console\n      }\n    }\n\n    // Cache app data values so they can be accessible from gSnippetsMap\n    for (const key of Object.keys(this.appData)) {\n      if (key === \"blockList\") {\n        this.snippetsMap.set(\"blockList\", this.appData[key]);\n      } else {\n        this.snippetsMap.set(`appData.${key}`, this.appData[key]);\n      }\n    }\n\n    // Refresh snippets, if enough time has passed.\n    await this._refreshSnippets();\n\n    // Try showing remote snippets, falling back to defaults if necessary.\n    try {\n      this._showRemoteSnippets();\n    } catch (e) {\n      this._noSnippetFallback(e);\n    }\n\n    window.dispatchEvent(new Event(SNIPPETS_ENABLED_EVENT));\n\n    this._forceOnboardingVisibility(true);\n    this.initialized = true;\n  }\n\n  uninit() {\n    window.dispatchEvent(new Event(SNIPPETS_DISABLED_EVENT));\n    this._forceOnboardingVisibility(false);\n    if (global.removeMessageListener) {\n      global.removeMessageListener(\"ActivityStream:MainToContent\", this._onAction);\n    }\n    this.initialized = false;\n  }\n}\n\n/**\n * addSnippetsSubscriber - Creates a SnippetsProvider that Initializes\n *                         when the store has received the appropriate\n *                         Snippet data.\n *\n * @param  {obj} store   The redux store\n * @return {obj}         Returns the snippets instance and unsubscribe function\n */\nexport function addSnippetsSubscriber(store) {\n  const snippets = new SnippetsProvider(store.dispatch);\n\n  let initializing = false;\n\n  store.subscribe(async () => {\n    const state = store.getState();\n    // state.Prefs.values[\"feeds.snippets\"]:  Should snippets be shown?\n    // state.Snippets.initialized             Is the snippets data initialized?\n    // snippets.initialized:                  Is SnippetsProvider currently initialised?\n    if (state.Prefs.values[\"feeds.snippets\"] &&\n      // If the message center experiment is enabled, don't show snippets\n      !state.Prefs.values.asrouterExperimentEnabled &&\n      !state.Prefs.values.disableSnippets &&\n      state.Snippets.initialized &&\n      !snippets.initialized &&\n      // Don't call init multiple times\n      !initializing &&\n      location.href !== \"about:welcome\"\n    ) {\n      initializing = true;\n      await snippets.init({appData: state.Snippets});\n      initializing = false;\n    } else if (\n      (state.Prefs.values[\"feeds.snippets\"] === false ||\n        state.Prefs.values.disableSnippets === true) &&\n      snippets.initialized\n    ) {\n      snippets.uninit();\n    }\n\n    if (state.Prefs.values.asrouterExperimentEnabled) {\n      initASRouter();\n    }\n  });\n\n  // These values are returned for testing purposes\n  return snippets;\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/snippets.js","module.exports = Redux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"Redux\"\n// module id = 21\n// module chunks = 0","import React from \"react\";\n\nexport const VISIBLE = \"visible\";\nexport const VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\n/**\n * Component wrapper used to send telemetry pings on every impression.\n */\nexport class ImpressionsWrapper extends React.PureComponent {\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionOrAddListener() {\n    if (this.props.document.visibilityState === VISIBLE) {\n      this.props.sendImpression();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (this.props.document.visibilityState === VISIBLE) {\n          this.props.sendImpression();\n          this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      this.props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    if (this.props.sendOnMount) {\n      this.sendImpressionOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    if (this.props.shouldSendImpressionOnUpdate(this.props, prevProps)) {\n      this.sendImpressionOrAddListener();\n    }\n  }\n\n  render() {\n    return this.props.children;\n  }\n}\n\nImpressionsWrapper.defaultProps = {\n  document: global.document,\n  sendOnMount: true\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/ImpressionsWrapper/ImpressionsWrapper.jsx","import React from \"react\";\n\nexport class ModalOverlay extends React.PureComponent {\n  componentWillMount() {\n    this.setState({active: true});\n    document.body.classList.add(\"modal-open\");\n  }\n\n  componentWillUnmount() {\n    document.body.classList.remove(\"modal-open\");\n    this.setState({active: false});\n  }\n\n  render() {\n    const {active} = this.state;\n    const {title, button_label} = this.props;\n    return (\n      <div>\n        <div className={`modalOverlayOuter ${active ? \"active\" : \"\"}`} />\n        <div className={`modalOverlayInner ${active ? \"active\" : \"\"}`}>\n          <h2> {title} </h2>\n          {this.props.children}\n          <div className=\"footer\">\n            <button onClick={this.props.onDoneButton} className=\"button primary modalButton\"> {button_label} </button>\n          </div>\n        </div>\n      </div>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/ModalOverlay/ModalOverlay.jsx","import {ModalOverlay} from \"../../components/ModalOverlay/ModalOverlay\";\nimport React from \"react\";\n\nclass OnboardingCard extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n  }\n\n  onClick() {\n    const {props} = this;\n    props.sendUserActionTelemetry({event: \"TRY_NOW\", message_id: props.id});\n    props.onAction(props.content);\n  }\n\n  render() {\n    const {content} = this.props;\n    return (\n      <div className=\"onboardingMessage\">\n        <div className={`onboardingMessageImage ${content.icon}`} />\n        <div className=\"onboardingContent\">\n          <span>\n            <h3> {content.title} </h3>\n            <p> {content.text} </p>\n          </span>\n          <span>\n            <button className=\"button onboardingButton\" onClick={this.onClick}> {content.button_label} </button>\n          </span>\n        </div>\n      </div>\n    );\n  }\n}\n\nexport class OnboardingMessage extends React.PureComponent {\n  render() {\n    const {props} = this;\n    return (\n      <ModalOverlay {...props} button_label={\"Start Browsing\"} title={\"Welcome to Firefox\"}>\n        <div className=\"onboardingMessageContainer\">\n          {props.bundle.map(message => (\n            <OnboardingCard key={message.id} sendUserActionTelemetry={props.sendUserActionTelemetry} onAction={props.onAction} {...message} />\n          ))}\n        </div>\n      </ModalOverlay>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/templates/OnboardingMessage/OnboardingMessage.jsx","export function safeURI(url) {\n  if (!url) {\n    return \"\";\n  }\n  const {protocol} = new URL(url);\n  const isAllowed = [\n    \"http:\",\n    \"https:\",\n    \"data:\",\n    \"resource:\",\n    \"chrome:\"\n  ].includes(protocol);\n  if (!isAllowed) {\n    console.warn(`The protocol ${protocol} is not allowed for template URLs.`); // eslint-disable-line no-console\n  }\n  return isAllowed ? url : \"\";\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/template-utils.js","import React from \"react\";\nimport {safeURI} from \"../../template-utils\";\n\nexport const Button = props => (<a href={safeURI(props.url)}\n  onClick={props.onClick}\n  className={props.className || \"ASRouterButton\"}>\n  {props.children}\n</a>);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/Button/Button.jsx","import React from \"react\";\n\nexport class SnippetBase extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onBlockClicked = this.onBlockClicked.bind(this);\n  }\n\n  onBlockClicked() {\n    this.props.sendUserActionTelemetry({event: \"BLOCK\"});\n    this.props.onBlock();\n  }\n\n  render() {\n    const {props} = this;\n\n    const containerClassName = `SnippetBaseContainer${props.className ? ` ${props.className}` : \"\"}`;\n\n    return (<div className={containerClassName}>\n      <div className=\"innerWrapper\">\n        {props.children}\n      </div>\n      <button className=\"blockButton\" onClick={this.onBlockClicked} />\n    </div>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/components/SnippetBase/SnippetBase.jsx","import {Button} from \"../../components/Button/Button\";\nimport React from \"react\";\nimport {safeURI} from \"../../template-utils\";\nimport {SnippetBase} from \"../../components/SnippetBase/SnippetBase\";\n\nconst DEFAULT_ICON_PATH = \"chrome://branding/content/icon64.png\";\n\nexport class SimpleSnippet extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onButtonClick = this.onButtonClick.bind(this);\n  }\n\n  onButtonClick() {\n    this.props.sendUserActionTelemetry({event: \"CLICK_BUTTON\"});\n  }\n\n  renderTitle() {\n    const {title} = this.props.content;\n    return title ? <h3 className=\"title\">{title}</h3> : null;\n  }\n\n  renderButton(className) {\n    const {props} = this;\n    return (<Button\n      className={className}\n      onClick={this.onButtonClick}\n      url={props.content.button_url}>\n      {props.content.button_label}\n    </Button>);\n  }\n\n  render() {\n    const {props} = this;\n    const hasLink = props.content.button_url && props.content.button_type === \"anchor\";\n    const hasButton = props.content.button_url && !props.content.button_type;\n    return (<SnippetBase {...props} className=\"SimpleSnippet\">\n      <img src={safeURI(props.content.icon) || DEFAULT_ICON_PATH} className=\"icon\" />\n      <div>\n        {this.renderTitle()} <p className=\"body\">{props.content.text}</p> {hasLink ? this.renderButton(\"ASRouterAnchor\") : null}\n      </div>\n      {hasButton ? <div>{this.renderButton()}</div> : null}\n    </SnippetBase>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {addLocaleData, injectIntl, IntlProvider} from \"react-intl\";\nimport {ASRouterAdmin} from \"content-src/components/ASRouterAdmin/ASRouterAdmin\";\nimport {ConfirmDialog} from \"content-src/components/ConfirmDialog/ConfirmDialog\";\nimport {connect} from \"react-redux\";\nimport {ErrorBoundary} from \"content-src/components/ErrorBoundary/ErrorBoundary\";\nimport {ManualMigration} from \"content-src/components/ManualMigration/ManualMigration\";\nimport {PrerenderData} from \"common/PrerenderData.jsm\";\nimport React from \"react\";\nimport {Search} from \"content-src/components/Search/Search\";\nimport {Sections} from \"content-src/components/Sections/Sections\";\nimport {StartupOverlay} from \"content-src/components/StartupOverlay/StartupOverlay\";\n\nconst PrefsButton = injectIntl(props => (\n  <div className=\"prefs-button\">\n    <button className=\"icon icon-settings\" onClick={props.onClick} title={props.intl.formatMessage({id: \"settings_pane_button_label\"})} />\n  </div>\n));\n\n// Add the locale data for pluralization and relative-time formatting for now,\n// this just uses english locale data. We can make this more sophisticated if\n// more features are needed.\nfunction addLocaleDataForReactIntl(locale) {\n  addLocaleData([{locale, parentLocale: \"en\"}]);\n}\n\nexport class _Base extends React.PureComponent {\n  componentWillMount() {\n    const {App, locale, Theme} = this.props;\n    if (Theme.className) {\n      this.updateTheme(Theme);\n    }\n    this.sendNewTabRehydrated(App);\n    addLocaleDataForReactIntl(locale);\n  }\n\n  componentDidMount() {\n    // Request state AFTER the first render to ensure we don't cause the\n    // prerendered DOM to be unmounted. Otherwise, NEW_TAB_STATE_REQUEST is\n    // dispatched right after the store is ready.\n    if (this.props.isPrerendered) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_STATE_REQUEST}));\n      this.props.dispatch(ac.AlsoToMain({type: at.PAGE_PRERENDERED}));\n    }\n  }\n\n  componentWillUnmount() {\n    this.updateTheme({className: \"\"});\n  }\n\n  componentWillUpdate({App, Theme}) {\n    this.updateTheme(Theme);\n    this.sendNewTabRehydrated(App);\n  }\n\n  updateTheme(Theme) {\n    const bodyClassName = [\n      \"activity-stream\",\n      Theme.className,\n      this.props.isFirstrun ? \"welcome\" : \"\"\n    ].filter(v => v).join(\" \");\n    global.document.body.className = bodyClassName;\n  }\n\n  // The NEW_TAB_REHYDRATED event is used to inform feeds that their\n  // data has been consumed e.g. for counting the number of tabs that\n  // have rendered that data.\n  sendNewTabRehydrated(App) {\n    if (App && App.initialized && !this.renderNotified) {\n      this.props.dispatch(ac.AlsoToMain({type: at.NEW_TAB_REHYDRATED, data: {}}));\n      this.renderNotified = true;\n    }\n  }\n\n  render() {\n    const {props} = this;\n    const {App, locale, strings} = props;\n    const {initialized} = App;\n\n    if (props.Prefs.values.asrouterExperimentEnabled && window.location.hash === \"#asrouter\") {\n      return (<ASRouterAdmin />);\n    }\n\n    if (!props.isPrerendered && !initialized) {\n      return null;\n    }\n\n    return (<IntlProvider locale={locale} messages={strings}>\n        <ErrorBoundary className=\"base-content-fallback\">\n          <BaseContent {...this.props} />\n        </ErrorBoundary>\n      </IntlProvider>);\n  }\n}\n\nexport class BaseContent extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.openPreferences = this.openPreferences.bind(this);\n  }\n\n  openPreferences() {\n    this.props.dispatch(ac.OnlyToMain({type: at.SETTINGS_OPEN}));\n    this.props.dispatch(ac.UserEvent({event: \"OPEN_NEWTAB_PREFS\"}));\n  }\n\n  render() {\n    const {props} = this;\n    const {App} = props;\n    const {initialized} = App;\n    const prefs = props.Prefs.values;\n\n    const shouldBeFixedToTop = PrerenderData.arePrefsValid(name => prefs[name]);\n\n    const outerClassName = [\n      \"outer-wrapper\",\n      shouldBeFixedToTop && \"fixed-to-top\"\n    ].filter(v => v).join(\" \");\n\n    return (\n      <div>\n        <div className={outerClassName}>\n          <main>\n            {prefs.showSearch &&\n              <div className=\"non-collapsible-section\">\n                <ErrorBoundary>\n                  <Search />\n                </ErrorBoundary>\n              </div>\n            }\n            <div className={`body-wrapper${(initialized ? \" on\" : \"\")}`}>\n              {!prefs.migrationExpired &&\n                <div className=\"non-collapsible-section\">\n                  <ManualMigration />\n                </div>\n                }\n              <Sections />\n              <PrefsButton onClick={this.openPreferences} />\n            </div>\n            <ConfirmDialog />\n          </main>\n        </div>\n        {this.props.isFirstrun && <StartupOverlay />}\n      </div>);\n  }\n}\n\nexport const Base = connect(state => ({App: state.App, Prefs: state.Prefs, Theme: state.Theme}))(_Base);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Base/Base.jsx","import {ASRouterUtils} from \"../../asrouter/asrouter-content\";\nimport React from \"react\";\n\nexport class ASRouterAdmin extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onMessage = this.onMessage.bind(this);\n    this.findOtherBundledMessagesOfSameTemplate = this.findOtherBundledMessagesOfSameTemplate.bind(this);\n    this.state = {};\n  }\n\n  onMessage({data: action}) {\n    if (action.type === \"ADMIN_SET_STATE\") {\n      this.setState(action.data);\n    }\n  }\n\n  componentWillMount() {\n    ASRouterUtils.sendMessage({type: \"ADMIN_CONNECT_STATE\"});\n    ASRouterUtils.addListener(this.onMessage);\n  }\n\n  componentWillUnmount() {\n    ASRouterUtils.removeListener(this.onMessage);\n  }\n\n  findOtherBundledMessagesOfSameTemplate(template) {\n    return this.state.messages.filter(msg => msg.template === template && msg.bundled);\n  }\n\n  handleBlock(msg) {\n    if (msg.bundled) {\n      // If we are blocking a message that belongs to a bundle, block all other messages that are bundled of that same template\n      let bundle = this.findOtherBundledMessagesOfSameTemplate(msg.template);\n      return () => ASRouterUtils.blockBundle(bundle);\n    }\n    return () => ASRouterUtils.blockById(msg.id);\n  }\n\n  handleUnblock(msg) {\n    if (msg.bundled) {\n      // If we are unblocking a message that belongs to a bundle, unblock all other messages that are bundled of that same template\n      let bundle = this.findOtherBundledMessagesOfSameTemplate(msg.template);\n      return () => ASRouterUtils.unblockBundle(bundle);\n    }\n    return () => ASRouterUtils.unblockById(msg.id);\n  }\n\n  handleOverride(id) {\n    return () => ASRouterUtils.overrideMessage(id);\n  }\n\n  renderMessageItem(msg) {\n    const isCurrent = msg.id === this.state.currentId;\n    const isBlocked = this.state.blockList.includes(msg.id);\n\n    let itemClassName = \"message-item\";\n    if (isCurrent) { itemClassName += \" current\"; }\n    if (isBlocked) { itemClassName += \" blocked\"; }\n\n    return (<tr className={itemClassName} key={msg.id}>\n      <td className=\"message-id\"><span>{msg.id}</span></td>\n      <td>\n        <button className={`button ${(isBlocked ? \"\" : \" primary\")}`} onClick={isBlocked ? this.handleUnblock(msg) : this.handleBlock(msg)}>{isBlocked ? \"Unblock\" : \"Block\"}</button>\n       {isBlocked ? null : <button className=\"button\" onClick={this.handleOverride(msg.id)}>Show</button>}\n      </td>\n      <td className=\"message-summary\">\n        <pre>{JSON.stringify(msg, null, 2)}</pre>\n      </td>\n    </tr>);\n  }\n\n  renderMessages() {\n    if (!this.state.messages) {\n      return null;\n    }\n    return (<table><tbody>\n      {this.state.messages.map(msg => this.renderMessageItem(msg))}\n    </tbody></table>);\n  }\n\n  renderProviders() {\n    return (<table><tbody>\n      {this.state.providers.map((provider, i) => (<tr className=\"message-item\" key={i}>\n        <td>{provider.id}</td>\n        <td>{provider.type === \"remote\" ? <a target=\"_blank\" href={provider.url}>{provider.url}</a> : \"(local)\"}</td>\n      </tr>))}\n    </tbody></table>);\n  }\n\n  render() {\n    return (<div className=\"asrouter-admin outer-wrapper\">\n      <h1>AS Router Admin</h1>\n      <button className=\"button primary\" onClick={ASRouterUtils.getNextMessage}>Refresh Current Message</button>\n      <h2>Message Providers</h2>\n      {this.state.providers ? this.renderProviders() : null}\n      <h2>Messages</h2>\n      {this.renderMessages()}\n    </div>);\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ASRouterAdmin/ASRouterAdmin.jsx","import {actionCreators as ac, actionTypes} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * ConfirmDialog component.\n * One primary action button, one cancel button.\n *\n * Content displayed is controlled by `data` prop the component receives.\n * Example:\n * data: {\n *   // Any sort of data needed to be passed around by actions.\n *   payload: site.url,\n *   // Primary button AlsoToMain action.\n *   action: \"DELETE_HISTORY_URL\",\n *   // Primary button USerEvent action.\n *   userEvent: \"DELETE\",\n *   // Array of locale ids to display.\n *   message_body: [\"confirm_history_delete_p1\", \"confirm_history_delete_notice_p2\"],\n *   // Text for primary button.\n *   confirm_button_string_id: \"menu_action_delete\"\n * },\n */\nexport class _ConfirmDialog extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this._handleCancelBtn = this._handleCancelBtn.bind(this);\n    this._handleConfirmBtn = this._handleConfirmBtn.bind(this);\n  }\n\n  _handleCancelBtn() {\n    this.props.dispatch({type: actionTypes.DIALOG_CANCEL});\n    this.props.dispatch(ac.UserEvent({event: actionTypes.DIALOG_CANCEL, source: this.props.data.eventSource}));\n  }\n\n  _handleConfirmBtn() {\n    this.props.data.onConfirm.forEach(this.props.dispatch);\n  }\n\n  _renderModalMessage() {\n    const message_body = this.props.data.body_string_id;\n\n    if (!message_body) {\n      return null;\n    }\n\n    return (<span>\n      {message_body.map(msg => <p key={msg}><FormattedMessage id={msg} /></p>)}\n    </span>);\n  }\n\n  render() {\n    if (!this.props.visible) {\n      return null;\n    }\n\n    return (<div className=\"confirmation-dialog\">\n      <div className=\"modal-overlay\" onClick={this._handleCancelBtn} />\n      <div className=\"modal\">\n        <section className=\"modal-message\">\n          {this.props.data.icon && <span className={`icon icon-spacer icon-${this.props.data.icon}`} />}\n          {this._renderModalMessage()}\n        </section>\n        <section className=\"actions\">\n          <button onClick={this._handleCancelBtn}>\n            <FormattedMessage id={this.props.data.cancel_button_string_id} />\n          </button>\n          <button className=\"done\" onClick={this._handleConfirmBtn}>\n            <FormattedMessage id={this.props.data.confirm_button_string_id} />\n          </button>\n        </section>\n      </div>\n    </div>);\n  }\n}\n\nexport const ConfirmDialog = connect(state => state.Dialog)(_ConfirmDialog);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ConfirmDialog/ConfirmDialog.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\n/**\n * Manual migration component used to start the profile import wizard.\n * Message is presented temporarily and will go away if:\n * 1.  User clicks \"No Thanks\"\n * 2.  User completed the data import\n * 3.  After 3 active days\n * 4.  User clicks \"Cancel\" on the import wizard (currently not implemented).\n */\nexport class _ManualMigration extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onLaunchTour = this.onLaunchTour.bind(this);\n    this.onCancelTour = this.onCancelTour.bind(this);\n  }\n\n  onLaunchTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_START}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_START}));\n  }\n\n  onCancelTour() {\n    this.props.dispatch(ac.AlsoToMain({type: at.MIGRATION_CANCEL}));\n    this.props.dispatch(ac.UserEvent({event: at.MIGRATION_CANCEL}));\n  }\n\n  render() {\n    return (<div className=\"manual-migration-container\">\n        <p>\n          <span className=\"icon icon-import\" />\n          <FormattedMessage id=\"manual_migration_explanation2\" />\n        </p>\n        <div className=\"manual-migration-actions actions\">\n          <button className=\"dismiss\" onClick={this.onCancelTour}>\n            <FormattedMessage id=\"manual_migration_cancel_button\" />\n          </button>\n          <button onClick={this.onLaunchTour}>\n            <FormattedMessage id=\"manual_migration_import_button\" />\n          </button>\n        </div>\n    </div>);\n  }\n}\n\nexport const ManualMigration = connect()(_ManualMigration);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/ManualMigration/ManualMigration.jsx","class _PrerenderData {\n  constructor(options) {\n    this.initialPrefs = options.initialPrefs;\n    this.initialSections = options.initialSections;\n    this._setValidation(options.validation);\n  }\n\n  get validation() {\n    return this._validation;\n  }\n\n  set validation(value) {\n    this._setValidation(value);\n  }\n\n  get invalidatingPrefs() {\n    return this._invalidatingPrefs;\n  }\n\n    // This is needed so we can use it in the constructor\n  _setValidation(value = []) {\n    this._validation = value;\n    this._invalidatingPrefs = value.reduce((result, next) => {\n      if (typeof next === \"string\") {\n        result.push(next);\n        return result;\n      } else if (next && next.oneOf) {\n        return result.concat(next.oneOf);\n      } else if (next && next.indexedDB) {\n        return result.concat(next.indexedDB);\n      }\n      throw new Error(\"Your validation configuration is not properly configured\");\n    }, []);\n  }\n\n  arePrefsValid(getPref, indexedDBPrefs) {\n    for (const prefs of this.validation) {\n      // {oneOf: [\"foo\", \"bar\"]}\n      if (prefs && prefs.oneOf && !prefs.oneOf.some(name => getPref(name) === this.initialPrefs[name])) {\n        return false;\n\n        // {indexedDB: [\"foo\", \"bar\"]}\n      } else if (indexedDBPrefs && prefs && prefs.indexedDB) {\n        const anyModifiedPrefs = prefs.indexedDB.some(prefName => indexedDBPrefs.some(pref => pref && pref[prefName]));\n        if (anyModifiedPrefs) {\n          return false;\n        }\n        // \"foo\"\n      } else if (getPref(prefs) !== this.initialPrefs[prefs]) {\n        return false;\n      }\n    }\n    return true;\n  }\n}\n\nthis.PrerenderData = new _PrerenderData({\n  initialPrefs: {\n    \"migrationExpired\": true,\n    \"feeds.topsites\": true,\n    \"showSearch\": true,\n    \"topSitesRows\": 1,\n    \"feeds.section.topstories\": true,\n    \"feeds.section.highlights\": true,\n    \"sectionOrder\": \"topsites,topstories,highlights\",\n    \"collapsed\": false\n  },\n  // Prefs listed as invalidating will prevent the prerendered version\n  // of AS from being used if their value is something other than what is listed\n  // here. This is required because some preferences cause the page layout to be\n  // too different for the prerendered version to be used. Unfortunately, this\n  // will result in users who have modified some of their preferences not being\n  // able to get the benefits of prerendering.\n  validation: [\n    \"feeds.topsites\",\n    \"showSearch\",\n    \"topSitesRows\",\n    \"sectionOrder\",\n    // This means if either of these are set to their default values,\n    // prerendering can be used.\n    {oneOf: [\"feeds.section.topstories\", \"feeds.section.highlights\"]},\n    // If any component has the following preference set to `true` it will\n    // invalidate the prerendered version.\n    {indexedDB: [\"collapsed\"]}\n  ],\n  initialSections: [\n    {\n      enabled: true,\n      icon: \"pocket\",\n      id: \"topstories\",\n      order: 1,\n      title: {id: \"header_recommended_by\", values: {provider: \"Pocket\"}}\n    },\n    {\n      enabled: true,\n      id: \"highlights\",\n      icon: \"highlights\",\n      order: 2,\n      title: {id: \"header_highlights\"}\n    }\n  ]\n});\n\nthis._PrerenderData = _PrerenderData;\nconst EXPORTED_SYMBOLS = [\"PrerenderData\", \"_PrerenderData\"];\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/common/PrerenderData.jsm","/* globals ContentSearchUIController */\n\"use strict\";\n\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport {IS_NEWTAB} from \"content-src/lib/constants\";\nimport React from \"react\";\n\nexport class _Search extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onClick = this.onClick.bind(this);\n    this.onInputMount = this.onInputMount.bind(this);\n  }\n\n  handleEvent(event) {\n    // Also track search events with our own telemetry\n    if (event.detail.type === \"Search\") {\n      this.props.dispatch(ac.UserEvent({event: \"SEARCH\"}));\n    }\n  }\n\n  onClick(event) {\n    window.gContentSearchController.search(event);\n  }\n\n  componentWillUnmount() {\n    delete window.gContentSearchController;\n  }\n\n  onInputMount(input) {\n    if (input) {\n      // The \"healthReportKey\" and needs to be \"newtab\" or \"abouthome\" so that\n      // BrowserUsageTelemetry.jsm knows to handle events with this name, and\n      // can add the appropriate telemetry probes for search. Without the correct\n      // name, certain tests like browser_UsageTelemetry_content.js will fail\n      // (See github ticket #2348 for more details)\n      const healthReportKey = IS_NEWTAB ? \"newtab\" : \"abouthome\";\n\n      // The \"searchSource\" needs to be \"newtab\" or \"homepage\" and is sent with\n      // the search data and acts as context for the search request (See\n      // nsISearchEngine.getSubmission). It is necessary so that search engine\n      // plugins can correctly atribute referrals. (See github ticket #3321 for\n      // more details)\n      const searchSource = IS_NEWTAB ? \"newtab\" : \"homepage\";\n\n      // gContentSearchController needs to exist as a global so that tests for\n      // the existing about:home can find it; and so it allows these tests to pass.\n      // In the future, when activity stream is default about:home, this can be renamed\n      window.gContentSearchController = new ContentSearchUIController(input, input.parentNode,\n        healthReportKey, searchSource);\n      addEventListener(\"ContentSearchClient\", this);\n    } else {\n      window.gContentSearchController = null;\n      removeEventListener(\"ContentSearchClient\", this);\n    }\n  }\n\n  /*\n   * Do not change the ID on the input field, as legacy newtab code\n   * specifically looks for the id 'newtab-search-text' on input fields\n   * in order to execute searches in various tests\n   */\n  render() {\n    return (<div className=\"search-wrapper\">\n      <label htmlFor=\"newtab-search-text\" className=\"search-label\">\n        <span className=\"sr-only\"><FormattedMessage id=\"search_web_placeholder\" /></span>\n      </label>\n      <input\n        id=\"newtab-search-text\"\n        maxLength=\"256\"\n        placeholder={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        ref={this.onInputMount}\n        title={this.props.intl.formatMessage({id: \"search_web_placeholder\"})}\n        type=\"search\" />\n      <button\n        id=\"searchSubmit\"\n        className=\"search-button\"\n        onClick={this.onClick}\n        title={this.props.intl.formatMessage({id: \"search_button\"})}>\n        <span className=\"sr-only\"><FormattedMessage id=\"search_button\" /></span>\n      </button>\n    </div>);\n  }\n}\n\nexport const Search = connect()(injectIntl(_Search));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Search/Search.jsx","export const IS_NEWTAB = global.document && global.document.documentURI === \"about:newtab\";\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/constants.js","import {Card, PlaceholderCard} from \"content-src/components/Card/Card\";\nimport {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\nimport {Topics} from \"content-src/components/Topics/Topics\";\nimport {TopSites} from \"content-src/components/TopSites/TopSites\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\nconst CARDS_PER_ROW = 3;\n\nfunction getFormattedMessage(message) {\n  return typeof message === \"string\" ? <span>{message}</span> : <FormattedMessage {...message} />;\n}\n\nexport class Section extends React.PureComponent {\n  _dispatchImpressionStats() {\n    const {props} = this;\n    const maxCards = 3 * props.maxRows;\n    const cards = props.rows.slice(0, maxCards);\n\n    if (this.needsImpressionStats(cards)) {\n      props.dispatch(ac.ImpressionStats({\n        source: props.eventSource,\n        tiles: cards.map(link => ({id: link.guid}))\n      }));\n      this.impressionCardGuids = cards.map(link => link.guid);\n    }\n  }\n\n  // This sends an event when a user sees a set of new content. If content\n  // changes while the page is hidden (i.e. preloaded or on a hidden tab),\n  // only send the event if the page becomes visible again.\n  sendImpressionStatsOrAddListener() {\n    const {props} = this;\n\n    if (!props.shouldSendImpressionStats || !props.dispatch) {\n      return;\n    }\n\n    if (props.document.visibilityState === VISIBLE) {\n      this._dispatchImpressionStats();\n    } else {\n      // We should only ever send the latest impression stats ping, so remove any\n      // older listeners.\n      if (this._onVisibilityChange) {\n        props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n      }\n\n      // When the page becomes visible, send the impression stats ping if the section isn't collapsed.\n      this._onVisibilityChange = () => {\n        if (props.document.visibilityState === VISIBLE) {\n          if (!this.props.pref.collapsed) {\n            this._dispatchImpressionStats();\n          }\n          props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n        }\n      };\n      props.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  componentDidMount() {\n    if (this.props.rows.length && !this.props.pref.collapsed) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentDidUpdate(prevProps) {\n    const {props} = this;\n    const isCollapsed = props.pref.collapsed;\n    const wasCollapsed = prevProps.pref.collapsed;\n    if (\n      // Don't send impression stats for the empty state\n      props.rows.length &&\n      (\n        // We only want to send impression stats if the content of the cards has changed\n        // and the section is not collapsed...\n        (props.rows !== prevProps.rows && !isCollapsed) ||\n        // or if we are expanding a section that was collapsed.\n        (wasCollapsed && !isCollapsed)\n      )\n    ) {\n      this.sendImpressionStatsOrAddListener();\n    }\n  }\n\n  componentWillUnmount() {\n    if (this._onVisibilityChange) {\n      this.props.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  needsImpressionStats(cards) {\n    if (!this.impressionCardGuids || (this.impressionCardGuids.length !== cards.length)) {\n      return true;\n    }\n\n    for (let i = 0; i < cards.length; i++) {\n      if (cards[i].guid !== this.impressionCardGuids[i]) {\n        return true;\n      }\n    }\n\n    return false;\n  }\n\n  numberOfPlaceholders(items) {\n    if (items === 0) {\n      return CARDS_PER_ROW;\n    }\n    const remainder = items % CARDS_PER_ROW;\n    if (remainder === 0) {\n      return 0;\n    }\n    return CARDS_PER_ROW - remainder;\n  }\n\n  render() {\n    const {\n      id, eventSource, title, icon, rows,\n      emptyState, dispatch, maxRows,\n      contextMenuOptions, initialized, disclaimer,\n      pref, privacyNoticeURL, isFirst, isLast\n    } = this.props;\n    const maxCards = CARDS_PER_ROW * maxRows;\n\n    // Show topics only for top stories and if it's not initialized yet (so\n    // content doesn't shift when it is loaded) or has loaded with topics\n    const shouldShowTopics = (id === \"topstories\" &&\n      (!this.props.topics || this.props.topics.length > 0));\n\n    const realRows = rows.slice(0, maxCards);\n    const placeholders = this.numberOfPlaceholders(realRows.length);\n\n    // The empty state should only be shown after we have initialized and there is no content.\n    // Otherwise, we should show placeholders.\n    const shouldShowEmptyState = initialized && !rows.length;\n\n    // <Section> <-- React component\n    // <section> <-- HTML5 element\n    return (<ComponentPerfTimer {...this.props}>\n      <CollapsibleSection className=\"section\" icon={icon}\n        title={title}\n        id={id}\n        eventSource={eventSource}\n        disclaimer={disclaimer}\n        collapsed={this.props.pref.collapsed}\n        showPrefName={(pref && pref.feed) || id}\n        privacyNoticeURL={privacyNoticeURL}\n        Prefs={this.props.Prefs}\n        isFirst={isFirst}\n        isLast={isLast}\n        dispatch={this.props.dispatch}\n        isWebExtension={this.props.isWebExtension}>\n\n        {!shouldShowEmptyState && (<ul className=\"section-list\" style={{padding: 0}}>\n          {realRows.map((link, index) => link &&\n            <Card key={index} index={index} dispatch={dispatch} link={link} contextMenuOptions={contextMenuOptions}\n              eventSource={eventSource} shouldSendImpressionStats={this.props.shouldSendImpressionStats} isWebExtension={this.props.isWebExtension} />)}\n          {placeholders > 0 && [...new Array(placeholders)].map((_, i) => <PlaceholderCard key={i} />)}\n        </ul>)}\n        {shouldShowEmptyState &&\n          <div className=\"section-empty-state\">\n            <div className=\"empty-state\">\n              {emptyState.icon && emptyState.icon.startsWith(\"moz-extension://\") ?\n                <img className=\"empty-state-icon icon\" style={{\"background-image\": `url('${emptyState.icon}')`}} /> :\n                <img className={`empty-state-icon icon icon-${emptyState.icon}`} />}\n              <p className=\"empty-state-message\">\n                {getFormattedMessage(emptyState.message)}\n              </p>\n            </div>\n          </div>}\n        {shouldShowTopics && <Topics topics={this.props.topics} read_more_endpoint={this.props.read_more_endpoint} />}\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nSection.defaultProps = {\n  document: global.document,\n  rows: [],\n  emptyState: {},\n  pref: {},\n  title: \"\"\n};\n\nexport const SectionIntl = connect(state => ({Prefs: state.Prefs}))(injectIntl(Section));\n\nexport class _Sections extends React.PureComponent {\n  renderSections() {\n    const sections = [];\n    const enabledSections = this.props.Sections.filter(section => section.enabled);\n    const {sectionOrder, \"feeds.topsites\": showTopSites} = this.props.Prefs.values;\n    // Enabled sections doesn't include Top Sites, so we add it if enabled.\n    const expectedCount = enabledSections.length + ~~showTopSites;\n\n    for (const sectionId of sectionOrder.split(\",\")) {\n      const commonProps = {\n        key: sectionId,\n        isFirst: sections.length === 0,\n        isLast: sections.length === expectedCount - 1\n      };\n      if (sectionId === \"topsites\" && showTopSites) {\n        sections.push(<TopSites {...commonProps} />);\n      } else {\n        const section = enabledSections.find(s => s.id === sectionId);\n        if (section) {\n          sections.push(<SectionIntl {...section} {...commonProps} />);\n        }\n      }\n    }\n    return sections;\n  }\n\n  render() {\n    return (\n      <div className=\"sections-list\">\n        {this.renderSections()}\n      </div>\n    );\n  }\n}\n\nexport const Sections = connect(state => ({Sections: state.Sections, Prefs: state.Prefs}))(_Sections);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Sections/Sections.jsx","export const cardContextTypes = {\n  history: {\n    intlID: \"type_label_visited\",\n    icon: \"historyItem\"\n  },\n  bookmark: {\n    intlID: \"type_label_bookmarked\",\n    icon: \"bookmark-added\"\n  },\n  trending: {\n    intlID: \"type_label_recommended\",\n    icon: \"trending\"\n  },\n  now: {\n    intlID: \"type_label_now\",\n    icon: \"now\"\n  },\n  pocket: {\n    intlID: \"type_label_pocket\",\n    icon: \"pocket\"\n  },\n  download: {\n    intlID: \"type_label_downloaded\",\n    icon: \"download\"\n  }\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/types.js","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {cardContextTypes} from \"./types\";\nimport {connect} from \"react-redux\";\nimport {FormattedMessage} from \"react-intl\";\nimport {GetPlatformString} from \"content-src/lib/link-menu-options\";\nimport {LinkMenu} from \"content-src/components/LinkMenu/LinkMenu\";\nimport React from \"react\";\n\n// Keep track of pending image loads to only request once\nconst gImageLoading = new Map();\n\n/**\n * Card component.\n * Cards are found within a Section component and contain information about a link such\n * as preview image, page title, page description, and some context about if the page\n * was visited, bookmarked, trending etc...\n * Each Section can make an unordered list of Cards which will create one instane of\n * this class. Each card will then get a context menu which reflects the actions that\n * can be done on this Card.\n */\nexport class _Card extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {\n      activeCard: null,\n      imageLoaded: false,\n      showContextMenu: false\n    };\n    this.onMenuButtonClick = this.onMenuButtonClick.bind(this);\n    this.onMenuUpdate = this.onMenuUpdate.bind(this);\n    this.onLinkClick = this.onLinkClick.bind(this);\n  }\n\n  /**\n   * Helper to conditionally load an image and update state when it loads.\n   */\n  async maybeLoadImage() {\n    // No need to load if it's already loaded or no image\n    const {image} = this.props.link;\n    if (!this.state.imageLoaded && image) {\n      // Initialize a promise to share a load across multiple card updates\n      if (!gImageLoading.has(image)) {\n        const loaderPromise = new Promise((resolve, reject) => {\n          const loader = new Image();\n          loader.addEventListener(\"load\", resolve);\n          loader.addEventListener(\"error\", reject);\n          loader.src = image;\n        });\n\n        // Save and remove the promise only while it's pending\n        gImageLoading.set(image, loaderPromise);\n        loaderPromise.catch(ex => ex).then(() => gImageLoading.delete(image)).catch();\n      }\n\n      // Wait for the image whether just started loading or reused promise\n      await gImageLoading.get(image);\n\n      // Only update state if we're still waiting to load the original image\n      if (this.props.link.image === image && !this.state.imageLoaded) {\n        this.setState({imageLoaded: true});\n      }\n    }\n  }\n\n  onMenuButtonClick(event) {\n    event.preventDefault();\n    this.setState({\n      activeCard: this.props.index,\n      showContextMenu: true\n    });\n  }\n\n  /**\n   * Report to telemetry additional information about the item.\n   */\n  _getTelemetryInfo() {\n    // Filter out \"history\" type for being the default\n    if (this.props.link.type !== \"history\") {\n      return {value: {card_type: this.props.link.type}};\n    }\n\n    return null;\n  }\n\n  onLinkClick(event) {\n    event.preventDefault();\n    if (this.props.link.type === \"download\") {\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.SHOW_DOWNLOAD_FILE,\n        data: this.props.link\n      }));\n    } else {\n      const {altKey, button, ctrlKey, metaKey, shiftKey} = event;\n      this.props.dispatch(ac.OnlyToMain({\n        type: at.OPEN_LINK,\n        data: Object.assign(this.props.link, {event: {altKey, button, ctrlKey, metaKey, shiftKey}})\n      }));\n    }\n    if (this.props.isWebExtension) {\n      this.props.dispatch(ac.WebExtEvent(at.WEBEXT_CLICK, {\n        source: this.props.eventSource,\n        url: this.props.link.url,\n        action_position: this.props.index\n      }));\n    } else {\n      this.props.dispatch(ac.UserEvent(Object.assign({\n        event: \"CLICK\",\n        source: this.props.eventSource,\n        action_position: this.props.index\n      }, this._getTelemetryInfo())));\n\n      if (this.props.shouldSendImpressionStats) {\n        this.props.dispatch(ac.ImpressionStats({\n          source: this.props.eventSource,\n          click: 0,\n          tiles: [{id: this.props.link.guid, pos: this.props.index}]\n        }));\n      }\n    }\n  }\n\n  onMenuUpdate(showContextMenu) {\n    this.setState({showContextMenu});\n  }\n\n  componentDidMount() {\n    this.maybeLoadImage();\n  }\n\n  componentDidUpdate() {\n    this.maybeLoadImage();\n  }\n\n  componentWillReceiveProps(nextProps) {\n    // Clear the image state if changing images\n    if (nextProps.link.image !== this.props.link.image) {\n      this.setState({imageLoaded: false});\n    }\n  }\n\n  render() {\n    const {index, link, dispatch, contextMenuOptions, eventSource, shouldSendImpressionStats} = this.props;\n    const {props} = this;\n    const isContextMenuOpen = this.state.showContextMenu && this.state.activeCard === index;\n    // Display \"now\" as \"trending\" until we have new strings #3402\n    const {icon, intlID} = cardContextTypes[link.type === \"now\" ? \"trending\" : link.type] || {};\n    const hasImage = link.image || link.hasImage;\n    const imageStyle = {backgroundImage: link.image ? `url(${link.image})` : \"none\"};\n\n    return (<li className={`card-outer${isContextMenuOpen ? \" active\" : \"\"}${props.placeholder ? \" placeholder\" : \"\"}`}>\n      <a href={link.type === \"pocket\" ? link.open_url : link.url} onClick={!props.placeholder ? this.onLinkClick : undefined}>\n        <div className=\"card\">\n          {hasImage && <div className=\"card-preview-image-outer\">\n            <div className={`card-preview-image${this.state.imageLoaded ? \" loaded\" : \"\"}`} style={imageStyle} />\n          </div>}\n          <div className={`card-details${hasImage ? \"\" : \" no-image\"}`}>\n            {link.type === \"download\" && <div className=\"card-download-icon icon icon-download-folder\" />}\n            {link.type === \"download\" && <div className=\"card-host-name alternate\"><FormattedMessage id={GetPlatformString(this.props.platform)} /></div>}\n            {link.hostname && <div className=\"card-host-name\">{link.hostname}</div>}\n            <div className={[\n              \"card-text\",\n              icon ? \"\" : \"no-context\",\n              link.description ? \"\" : \"no-description\",\n              link.hostname ? \"\" : \"no-host-name\",\n              hasImage ? \"\" : \"no-image\"\n            ].join(\" \")}>\n              <h4 className=\"card-title\" dir=\"auto\">{link.title}</h4>\n              <p className=\"card-description\" dir=\"auto\">{link.description}</p>\n            </div>\n            <div className=\"card-context\">\n              {icon && !link.context && <span className={`card-context-icon icon icon-${icon}`} />}\n              {link.icon && link.context && <span className=\"card-context-icon icon\" style={{backgroundImage: `url('${link.icon}')`}} />}\n              {intlID && !link.context && <div className=\"card-context-label\"><FormattedMessage id={intlID} defaultMessage=\"Visited\" /></div>}\n              {link.context && <div className=\"card-context-label\">{link.context}</div>}\n            </div>\n          </div>\n        </div>\n      </a>\n      {!props.placeholder && <button className=\"context-menu-button icon\"\n        onClick={this.onMenuButtonClick}>\n        <span className=\"sr-only\">{`Open context menu for ${link.title}`}</span>\n      </button>}\n      {isContextMenuOpen &&\n        <LinkMenu\n          dispatch={dispatch}\n          index={index}\n          source={eventSource}\n          onUpdate={this.onMenuUpdate}\n          options={link.contextMenuOptions || contextMenuOptions}\n          site={link}\n          siteInfo={this._getTelemetryInfo()}\n          shouldSendImpressionStats={shouldSendImpressionStats} />\n      }\n   </li>);\n  }\n}\n_Card.defaultProps = {link: {}};\nexport const Card = connect(state => ({platform: state.Prefs.values.platform}))(_Card);\nexport const PlaceholderCard = () => <Card placeholder={true} />;\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Card/Card.jsx","import {actionCreators as ac} from \"common/Actions.jsm\";\nimport {ContextMenu} from \"content-src/components/ContextMenu/ContextMenu\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {SectionMenuOptions} from \"content-src/lib/section-menu-options\";\n\nconst DEFAULT_SECTION_MENU_OPTIONS = [\"MoveUp\", \"MoveDown\", \"Separator\", \"RemoveSection\", \"CheckCollapsed\", \"Separator\", \"ManageSection\"];\nconst WEBEXT_SECTION_MENU_OPTIONS = [\"MoveUp\", \"MoveDown\", \"Separator\", \"CheckCollapsed\", \"Separator\", \"ManageWebExtension\"];\n\nexport class _SectionMenu extends React.PureComponent {\n  getOptions() {\n    const {props} = this;\n\n    const propOptions = props.isWebExtension ? [...WEBEXT_SECTION_MENU_OPTIONS] : [...DEFAULT_SECTION_MENU_OPTIONS];\n    // Prepend custom options and a separator\n    if (props.extraOptions) {\n      propOptions.splice(0, 0, ...props.extraOptions, \"Separator\");\n    }\n    // Insert privacy notice before the last option (\"ManageSection\")\n    if (props.privacyNoticeURL) {\n      propOptions.splice(-1, 0, \"PrivacyNotice\");\n    }\n\n    const options = propOptions.map(o => SectionMenuOptions[o](props)).map(option => {\n      const {action, id, type, userEvent} = option;\n      if (!type && id) {\n        option.label = props.intl.formatMessage({id});\n        option.onClick = () => {\n          props.dispatch(action);\n          if (userEvent) {\n            props.dispatch(ac.UserEvent({\n              event: userEvent,\n              source: props.source\n            }));\n          }\n        };\n      }\n      return option;\n    });\n\n    // This is for accessibility to support making each item tabbable.\n    // We want to know which item is the first and which item\n    // is the last, so we can close the context menu accordingly.\n    options[0].first = true;\n    options[options.length - 1].last = true;\n    return options;\n  }\n\n  render() {\n    return (<ContextMenu\n      onUpdate={this.props.onUpdate}\n      options={this.getOptions()} />);\n  }\n}\n\nexport const SectionMenu = injectIntl(_SectionMenu);\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/SectionMenu/SectionMenu.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class Topic extends React.PureComponent {\n  render() {\n    const {url, name} = this.props;\n    return (<li><a key={name} className=\"topic-link\" href={url}>{name}</a></li>);\n  }\n}\n\nexport class Topics extends React.PureComponent {\n  render() {\n    const {topics, read_more_endpoint} = this.props;\n    return (\n      <div className=\"topic\">\n        <span><FormattedMessage id=\"pocket_read_more\" /></span>\n        <ul>{topics && topics.map(t => <Topic key={t.name} url={t.url} name={t.name} />)}</ul>\n\n        {read_more_endpoint && <a className=\"topic-read-more\" href={read_more_endpoint}>\n          <FormattedMessage id=\"pocket_read_even_more\" />\n        </a>}\n      </div>\n    );\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/Topics/Topics.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {MIN_CORNER_FAVICON_SIZE, MIN_RICH_FAVICON_SIZE, TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {CollapsibleSection} from \"content-src/components/CollapsibleSection/CollapsibleSection\";\nimport {ComponentPerfTimer} from \"content-src/components/ComponentPerfTimer/ComponentPerfTimer\";\nimport {connect} from \"react-redux\";\nimport {injectIntl} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_MAX_SITES_PER_ROW} from \"common/Reducers.jsm\";\nimport {TopSiteForm} from \"./TopSiteForm\";\nimport {TopSiteList} from \"./TopSite\";\n\nfunction topSiteIconType(link) {\n  if (link.customScreenshotURL) {\n    return \"custom_screenshot\";\n  }\n  if (link.tippyTopIcon || link.faviconRef === \"tippytop\") {\n    return \"tippytop\";\n  }\n  if (link.faviconSize >= MIN_RICH_FAVICON_SIZE) {\n    return \"rich_icon\";\n  }\n  if (link.screenshot && link.faviconSize >= MIN_CORNER_FAVICON_SIZE) {\n    return \"screenshot_with_icon\";\n  }\n  if (link.screenshot) {\n    return \"screenshot\";\n  }\n  return \"no_image\";\n}\n\n/**\n * Iterates through TopSites and counts types of images.\n * @param acc Accumulator for reducer.\n * @param topsite Entry in TopSites.\n */\nfunction countTopSitesIconsTypes(topSites) {\n  const countTopSitesTypes = (acc, link) => {\n    acc[topSiteIconType(link)]++;\n    return acc;\n  };\n\n  return topSites.reduce(countTopSitesTypes, {\n    \"custom_screenshot\": 0,\n    \"screenshot_with_icon\": 0,\n    \"screenshot\": 0,\n    \"tippytop\": 0,\n    \"rich_icon\": 0,\n    \"no_image\": 0\n  });\n}\n\nexport class _TopSites extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onFormClose = this.onFormClose.bind(this);\n  }\n\n  /**\n   * Dispatch session statistics about the quality of TopSites icons and pinned count.\n   */\n  _dispatchTopSitesStats() {\n    const topSites = this._getVisibleTopSites();\n    const topSitesIconsStats = countTopSitesIconsTypes(topSites);\n    const topSitesPinned = topSites.filter(site => !!site.isPinned).length;\n    // Dispatch telemetry event with the count of TopSites images types.\n    this.props.dispatch(ac.AlsoToMain({\n      type: at.SAVE_SESSION_PERF_DATA,\n      data: {topsites_icon_stats: topSitesIconsStats, topsites_pinned: topSitesPinned}\n    }));\n  }\n\n  /**\n   * Return the TopSites that are visible based on prefs and window width.\n   */\n  _getVisibleTopSites() {\n    // We hide 2 sites per row when not in the wide layout.\n    let sitesPerRow = TOP_SITES_MAX_SITES_PER_ROW;\n    // $break-point-widest = 1072px (from _variables.scss)\n    if (!global.matchMedia(`(min-width: 1072px)`).matches) {\n      sitesPerRow -= 2;\n    }\n    return this.props.TopSites.rows.slice(0, this.props.TopSitesRows * sitesPerRow);\n  }\n\n  componentDidUpdate() {\n    this._dispatchTopSitesStats();\n  }\n\n  componentDidMount() {\n    this._dispatchTopSitesStats();\n  }\n\n  onFormClose() {\n    this.props.dispatch(ac.UserEvent({\n      source: TOP_SITES_SOURCE,\n      event: \"TOP_SITES_EDIT_CLOSE\"\n    }));\n    this.props.dispatch({type: at.TOP_SITES_CANCEL_EDIT});\n  }\n\n  render() {\n    const {props} = this;\n    const {editForm} = props.TopSites;\n\n    return (<ComponentPerfTimer id=\"topsites\" initialized={props.TopSites.initialized} dispatch={props.dispatch}>\n      <CollapsibleSection\n        className=\"top-sites\"\n        icon=\"topsites\"\n        id=\"topsites\"\n        title={{id: \"header_top_sites\"}}\n        extraMenuOptions={[\"AddTopSite\"]}\n        showPrefName=\"feeds.topsites\"\n        eventSource={TOP_SITES_SOURCE}\n        collapsed={props.TopSites.pref ? props.TopSites.pref.collapsed : undefined}\n        isFirst={props.isFirst}\n        isLast={props.isLast}\n        dispatch={props.dispatch}>\n        <TopSiteList TopSites={props.TopSites} TopSitesRows={props.TopSitesRows} dispatch={props.dispatch} intl={props.intl} topSiteIconType={topSiteIconType} />\n        <div className=\"edit-topsites-wrapper\">\n          {editForm &&\n            <div className=\"edit-topsites\">\n              <div className=\"modal-overlay\" onClick={this.onFormClose} />\n              <div className=\"modal\">\n                <TopSiteForm\n                  site={props.TopSites.rows[editForm.index]}\n                  onClose={this.onFormClose}\n                  dispatch={this.props.dispatch}\n                  intl={this.props.intl}\n                  {...editForm} />\n              </div>\n            </div>\n          }\n        </div>\n      </CollapsibleSection>\n    </ComponentPerfTimer>);\n  }\n}\n\nexport const TopSites = connect(state => ({\n  TopSites: state.TopSites,\n  Prefs: state.Prefs,\n  TopSitesRows: state.Prefs.values.topSitesRows\n}))(injectIntl(_TopSites));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSites.jsx","import {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\n\nexport class TopSiteFormInput extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.state = {validationError: this.props.validationError};\n    this.onChange = this.onChange.bind(this);\n    this.onMount = this.onMount.bind(this);\n  }\n\n  componentWillReceiveProps(nextProps) {\n    if (nextProps.shouldFocus && !this.props.shouldFocus) {\n      this.input.focus();\n    }\n    if (nextProps.validationError && !this.props.validationError) {\n      this.setState({validationError: true});\n    }\n    // If the component is in an error state but the value was cleared by the parent\n    if (this.state.validationError && !nextProps.value) {\n      this.setState({validationError: false});\n    }\n  }\n\n  onChange(ev) {\n    if (this.state.validationError) {\n      this.setState({validationError: false});\n    }\n    this.props.onChange(ev);\n  }\n\n  onMount(input) {\n    this.input = input;\n  }\n\n  render() {\n    const showClearButton = this.props.value && this.props.onClear;\n    const {typeUrl} = this.props;\n    const {validationError} = this.state;\n\n    return (<label><FormattedMessage id={this.props.titleId} />\n      <div className={`field ${typeUrl ? \"url\" : \"\"}${validationError ? \" invalid\" : \"\"}`}>\n        {this.props.loading ?\n          <div className=\"loading-container\"><div className=\"loading-animation\" /></div> :\n          showClearButton && <div className=\"icon icon-clear-input\" onClick={this.props.onClear} />}\n        <input type=\"text\"\n          value={this.props.value}\n          ref={this.onMount}\n          onChange={this.onChange}\n          placeholder={this.props.intl.formatMessage({id: this.props.placeholderId})}\n          autoFocus={this.props.shouldFocus}\n          disabled={this.props.loading} />\n        {validationError &&\n          <aside className=\"error-tooltip\">\n            <FormattedMessage id={this.props.errorMessageId} />\n          </aside>}\n      </div>\n    </label>);\n  }\n}\n\nTopSiteFormInput.defaultProps = {\n  showClearButton: false,\n  value: \"\",\n  validationError: false\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteFormInput.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {FormattedMessage} from \"react-intl\";\nimport React from \"react\";\nimport {TOP_SITES_SOURCE} from \"./TopSitesConstants\";\nimport {TopSiteFormInput} from \"./TopSiteFormInput\";\nimport {TopSiteLink} from \"./TopSite\";\n\nexport class TopSiteForm extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    const {site} = props;\n    this.state = {\n      label: site ? (site.label || site.hostname) : \"\",\n      url: site ? site.url : \"\",\n      validationError: false,\n      customScreenshotUrl: site ? site.customScreenshotURL : \"\",\n      showCustomScreenshotForm: site ? site.customScreenshotURL : false\n    };\n    this.onClearScreenshotInput = this.onClearScreenshotInput.bind(this);\n    this.onLabelChange = this.onLabelChange.bind(this);\n    this.onUrlChange = this.onUrlChange.bind(this);\n    this.onCancelButtonClick = this.onCancelButtonClick.bind(this);\n    this.onClearUrlClick = this.onClearUrlClick.bind(this);\n    this.onDoneButtonClick = this.onDoneButtonClick.bind(this);\n    this.onCustomScreenshotUrlChange = this.onCustomScreenshotUrlChange.bind(this);\n    this.onPreviewButtonClick = this.onPreviewButtonClick.bind(this);\n    this.onEnableScreenshotUrlForm = this.onEnableScreenshotUrlForm.bind(this);\n    this.validateUrl = this.validateUrl.bind(this);\n  }\n\n  onLabelChange(event) {\n    this.setState({\"label\": event.target.value});\n  }\n\n  onUrlChange(event) {\n    this.setState({\n      url: event.target.value,\n      validationError: false\n    });\n  }\n\n  onClearUrlClick() {\n    this.setState({\n      url: \"\",\n      validationError: false\n    });\n  }\n\n  onEnableScreenshotUrlForm() {\n    this.setState({showCustomScreenshotForm: true});\n  }\n\n  _updateCustomScreenshotInput(customScreenshotUrl) {\n    this.setState({\n      customScreenshotUrl,\n      validationError: false\n    });\n    this.props.dispatch({type: at.PREVIEW_REQUEST_CANCEL});\n  }\n\n  onCustomScreenshotUrlChange(event) {\n    this._updateCustomScreenshotInput(event.target.value);\n  }\n\n  onClearScreenshotInput() {\n    this._updateCustomScreenshotInput(\"\");\n  }\n\n  onCancelButtonClick(ev) {\n    ev.preventDefault();\n    this.props.onClose();\n  }\n\n  onDoneButtonClick(ev) {\n    ev.preventDefault();\n\n    if (this.validateForm()) {\n      const site = {url: this.cleanUrl(this.state.url)};\n      const {index} = this.props;\n      if (this.state.label !== \"\") {\n        site.label = this.state.label;\n      }\n\n      if (this.state.customScreenshotUrl) {\n        site.customScreenshotURL = this.cleanUrl(this.state.customScreenshotUrl);\n      } else if (this.props.site && this.props.site.customScreenshotURL) {\n        // Used to flag that previously cached screenshot should be removed\n        site.customScreenshotURL = null;\n      }\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.TOP_SITES_PIN,\n        data: {site, index}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"TOP_SITES_EDIT\",\n        action_position: index\n      }));\n\n      this.props.onClose();\n    }\n  }\n\n  onPreviewButtonClick(event) {\n    event.preventDefault();\n    if (this.validateForm()) {\n      this.props.dispatch(ac.AlsoToMain({\n        type: at.PREVIEW_REQUEST,\n        data: {url: this.cleanUrl(this.state.customScreenshotUrl)}\n      }));\n      this.props.dispatch(ac.UserEvent({\n        source: TOP_SITES_SOURCE,\n        event: \"PREVIEW_REQUEST\"\n      }));\n    }\n  }\n\n  cleanUrl(url) {\n    // If we are missing a protocol, prepend http://\n    if (!url.startsWith(\"http:\") && !url.startsWith(\"https:\")) {\n      return `http://${url}`;\n    }\n    return url;\n  }\n\n  _tryParseUrl(url) {\n    try {\n      return new URL(url);\n    } catch (e) {\n      return null;\n    }\n  }\n\n  validateUrl(url) {\n    const validProtocols = [\"http:\", \"https:\"];\n    const urlObj = this._tryParseUrl(url) || this._tryParseUrl(this.cleanUrl(url));\n\n    return urlObj && validProtocols.includes(urlObj.protocol);\n  }\n\n  validateCustomScreenshotUrl() {\n    const {customScreenshotUrl} = this.state;\n    return !customScreenshotUrl || this.validateUrl(customScreenshotUrl);\n  }\n\n  validateForm() {\n    const validate = this.validateUrl(this.state.url) && this.validateCustomScreenshotUrl();\n\n    if (!validate) {\n      this.setState({validationError: true});\n    }\n\n    return validate;\n  }\n\n  _renderCustomScreenshotInput() {\n    const {customScreenshotUrl} = this.state;\n    const requestFailed = this.props.previewResponse === \"\";\n    const validationError = (this.state.validationError && !this.validateCustomScreenshotUrl()) || requestFailed;\n    // Set focus on error if the url field is valid or when the input is first rendered and is empty\n    const shouldFocus = (validationError && this.validateUrl(this.state.url)) || !customScreenshotUrl;\n    const isLoading = this.props.previewResponse === null &&\n      customScreenshotUrl && this.props.previewUrl === this.cleanUrl(customScreenshotUrl);\n\n    if (!this.state.showCustomScreenshotForm) {\n      return (<a className=\"enable-custom-image-input\" onClick={this.onEnableScreenshotUrlForm}>\n        <FormattedMessage id=\"topsites_form_use_image_link\" />\n      </a>);\n    }\n    return (<div className=\"custom-image-input-container\">\n      <TopSiteFormInput\n        errorMessageId={requestFailed ? \"topsites_form_image_validation\" : \"topsites_form_url_validation\"}\n        loading={isLoading}\n        onChange={this.onCustomScreenshotUrlChange}\n        onClear={this.onClearScreenshotInput}\n        shouldFocus={shouldFocus}\n        typeUrl={true}\n        value={customScreenshotUrl}\n        validationError={validationError}\n        titleId=\"topsites_form_image_url_label\"\n        placeholderId=\"topsites_form_url_placeholder\"\n        intl={this.props.intl} />\n    </div>);\n  }\n\n  render() {\n    const {customScreenshotUrl} = this.state;\n    const requestFailed = this.props.previewResponse === \"\";\n    // For UI purposes, editing without an existing link is \"add\"\n    const showAsAdd = !this.props.site;\n    const previous = (this.props.site && this.props.site.customScreenshotURL) || \"\";\n    const changed = customScreenshotUrl && this.cleanUrl(customScreenshotUrl) !== previous;\n    // Preview mode if changes were made to the custom screenshot URL and no preview was received yet\n    // or the request failed\n    const previewMode = changed && !this.props.previewResponse;\n    const previewLink = Object.assign({}, this.props.site);\n    if (this.props.previewResponse) {\n      previewLink.screenshot = this.props.previewResponse;\n      previewLink.customScreenshotURL = this.props.previewUrl;\n    }\n    return (\n      <form className=\"topsite-form\">\n        <div className=\"form-input-container\">\n          <h3 className=\"section-title\">\n            <FormattedMessage id={showAsAdd ? \"topsites_form_add_header\" : \"topsites_form_edit_header\"} />\n          </h3>\n          <div className=\"fields-and-preview\">\n            <div className=\"form-wrapper\">\n              <TopSiteFormInput onChange={this.onLabelChange}\n                value={this.state.label}\n                titleId=\"topsites_form_title_label\"\n                placeholderId=\"topsites_form_title_placeholder\"\n                intl={this.props.intl} />\n              <TopSiteFormInput onChange={this.onUrlChange}\n                shouldFocus={this.state.validationError && !this.validateUrl(this.state.url)}\n                value={this.state.url}\n                onClear={this.onClearUrlClick}\n                validationError={this.state.validationError && !this.validateUrl(this.state.url)}\n                titleId=\"topsites_form_url_label\"\n                typeUrl={true}\n                placeholderId=\"topsites_form_url_placeholder\"\n                errorMessageId=\"topsites_form_url_validation\"\n                intl={this.props.intl} />\n              {this._renderCustomScreenshotInput()}\n            </div>\n            <TopSiteLink link={previewLink}\n              defaultStyle={requestFailed}\n              title={this.state.label} />\n          </div>\n        </div>\n        <section className=\"actions\">\n          <button className=\"cancel\" type=\"button\" onClick={this.onCancelButtonClick}>\n            <FormattedMessage id=\"topsites_form_cancel_button\" />\n          </button>\n          {previewMode ?\n            <button className=\"done preview\" type=\"submit\" onClick={this.onPreviewButtonClick}>\n              <FormattedMessage id=\"topsites_form_preview_button\" />\n            </button> :\n            <button className=\"done\" type=\"submit\" onClick={this.onDoneButtonClick}>\n              <FormattedMessage id={showAsAdd ? \"topsites_form_add_button\" : \"topsites_form_save_button\"} />\n            </button>}\n        </section>\n      </form>\n    );\n  }\n}\n\nTopSiteForm.defaultProps = {\n  site: null,\n  index: -1\n};\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/TopSites/TopSiteForm.jsx","import {FormattedMessage, injectIntl} from \"react-intl\";\nimport {actionCreators as ac} from \"common/Actions.jsm\";\nimport {connect} from \"react-redux\";\nimport React from \"react\";\n\nexport class _StartupOverlay extends React.PureComponent {\n  constructor(props) {\n    super(props);\n    this.onInputChange = this.onInputChange.bind(this);\n    this.onSubmit = this.onSubmit.bind(this);\n    this.clickSkip = this.clickSkip.bind(this);\n    this.initScene = this.initScene.bind(this);\n    this.removeOverlay = this.removeOverlay.bind(this);\n\n    this.state = {emailInput: \"\"};\n    this.initScene();\n  }\n\n  initScene() {\n    // Timeout to allow the scene to render once before attaching the attribute\n    // to trigger the animation.\n    setTimeout(() => {\n      this.setState({show: true});\n    }, 10);\n  }\n\n  removeOverlay() {\n    window.removeEventListener(\"visibilitychange\", this.removeOverlay);\n    this.setState({show: false});\n    setTimeout(() => {\n      // Allow scrolling and fully remove overlay after animation finishes.\n      document.body.classList.remove(\"welcome\");\n    }, 400);\n  }\n\n  onInputChange(e) {\n    this.setState({emailInput: e.target.value});\n  }\n\n  onSubmit() {\n    this.props.dispatch(ac.UserEvent({event: \"SUBMIT_EMAIL\"}));\n    window.addEventListener(\"visibilitychange\", this.removeOverlay);\n  }\n\n  clickSkip() {\n    this.props.dispatch(ac.UserEvent({event: \"SKIPPED_SIGNIN\"}));\n    this.removeOverlay();\n  }\n\n  render() {\n    let termsLink = (<a href=\"https://accounts.firefox.com/legal/terms\" target=\"_blank\" rel=\"noopener noreferrer\"><FormattedMessage id=\"firstrun_terms_of_service\" /></a>);\n    let privacyLink = (<a href=\"https://accounts.firefox.com/legal/privacy\" target=\"_blank\" rel=\"noopener noreferrer\"><FormattedMessage id=\"firstrun_privacy_notice\" /></a>);\n    return (\n      <div className={`overlay-wrapper ${this.state.show ? \"show \" : \"\"}`}>\n        <div className=\"background\" />\n        <div className=\"firstrun-scene\">\n          <div className=\"fxaccounts-container\">\n            <div className=\"firstrun-left-divider\">\n              <h1 className=\"firstrun-title\"><FormattedMessage id=\"firstrun_title\" /></h1>\n              <p className=\"firstrun-content\"><FormattedMessage id=\"firstrun_content\" /></p>\n              <a className=\"firstrun-link\" href=\"https://www.mozilla.org/firefox/features/sync/\" target=\"_blank\" rel=\"noopener noreferrer\"><FormattedMessage id=\"firstrun_learn_more_link\" /></a>\n            </div>\n            <div className=\"firstrun-sign-in\">\n              <p className=\"form-header\"><FormattedMessage id=\"firstrun_form_header\" /><span><FormattedMessage id=\"firstrun_form_sub_header\" /></span></p>\n              <form method=\"get\" action=\"https://accounts.firefox.com\" target=\"_blank\" rel=\"noopener noreferrer\" onSubmit={this.onSubmit}>\n                <input name=\"service\" type=\"hidden\" value=\"sync\" />\n                <input name=\"action\" type=\"hidden\" value=\"email\" />\n                <input name=\"context\" type=\"hidden\" value=\"fx_desktop_v3\" />\n                <input className=\"email-input\" name=\"email\" type=\"email\" required=\"true\" placeholder={this.props.intl.formatMessage({id: \"firstrun_email_input_placeholder\"})} onChange={this.onInputChange} />\n                <div className=\"extra-links\">\n                  <FormattedMessage\n                    id=\"firstrun_extra_legal_links\"\n                    values={{\n                      terms: termsLink,\n                      privacy: privacyLink\n                    }} />\n                </div>\n                <button className=\"continue-button\" type=\"submit\"><FormattedMessage id=\"firstrun_continue_to_login\" /></button>\n              </form>\n              <button className=\"skip-button\" disabled={!!this.state.emailInput} onClick={this.clickSkip}><FormattedMessage id=\"firstrun_skip_login\" /></button>\n            </div>\n          </div>\n        </div>\n      </div>\n    );\n  }\n}\n\nexport const StartupOverlay = connect()(injectIntl(_StartupOverlay));\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/components/StartupOverlay/StartupOverlay.jsx","import {actionCreators as ac, actionTypes as at} from \"common/Actions.jsm\";\nimport {perfService as perfSvc} from \"common/PerfService.jsm\";\n\nconst VISIBLE = \"visible\";\nconst VISIBILITY_CHANGE_EVENT = \"visibilitychange\";\n\nexport class DetectUserSessionStart {\n  constructor(store, options = {}) {\n    this._store = store;\n    // Overrides for testing\n    this.document = options.document || global.document;\n    this._perfService = options.perfService || perfSvc;\n    this._onVisibilityChange = this._onVisibilityChange.bind(this);\n  }\n\n  /**\n   * sendEventOrAddListener - Notify immediately if the page is already visible,\n   *                    or else set up a listener for when visibility changes.\n   *                    This is needed for accurate session tracking for telemetry,\n   *                    because tabs are pre-loaded.\n   */\n  sendEventOrAddListener() {\n    if (this.document.visibilityState === VISIBLE) {\n      // If the document is already visible, to the user, send a notification\n      // immediately that a session has started.\n      this._sendEvent();\n    } else {\n      // If the document is not visible, listen for when it does become visible.\n      this.document.addEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n\n  /**\n   * _sendEvent - Sends a message to the main process to indicate the current\n   *              tab is now visible to the user, includes the\n   *              visibility_event_rcvd_ts time in ms from the UNIX epoch.\n   */\n  _sendEvent() {\n    this._perfService.mark(\"visibility_event_rcvd_ts\");\n\n    try {\n      let visibility_event_rcvd_ts = this._perfService\n        .getMostRecentAbsMarkStartByName(\"visibility_event_rcvd_ts\");\n\n      this._store.dispatch(ac.AlsoToMain({\n        type: at.SAVE_SESSION_PERF_DATA,\n        data: {visibility_event_rcvd_ts}\n      }));\n    } catch (ex) {\n      // If this failed, it's likely because the `privacy.resistFingerprinting`\n      // pref is true.  We should at least not blow up.\n    }\n  }\n\n  /**\n   * _onVisibilityChange - If the visibility has changed to visible, sends a notification\n   *                      and removes the event listener. This should only be called once per tab.\n   */\n  _onVisibilityChange() {\n    if (this.document.visibilityState === VISIBLE) {\n      this._sendEvent();\n      this.document.removeEventListener(VISIBILITY_CHANGE_EVENT, this._onVisibilityChange);\n    }\n  }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./system-addon/content-src/lib/detect-user-session-start.js"],"sourceRoot":""}
\ No newline at end of file
new file mode 100644
index 0000000000000000000000000000000000000000..fd493c6c027289e6065afc2748a4eecb0a88f0ae
GIT binary patch
literal 59468
zc$_qO2RzmP_y5JUN@gj_b_w@hLiQ|K*C=IN*Sy@UOA=*9k}bJ-BSphaMz|N(78%7Y
zGP4QS-h2DqKHvZUKJI<I);Z7fe4TS%>v3alo9LZ8!+Qn<0-ZC^*D(Wu7-1j~-5e7g
zwdbBJjzDdIZX4aZMQwt#CqTxNr>CbN>Q`?9WHkjcn*ym#fD|V{c2gkdY0&jCdgaBv
zy%P|8l>WtbX8scW%_WfR=+W`%z|bze!W#YKHF~o(@cp%g^+WoK1JK?nxba|WYM(~D
zoBreW=;$8p_yK*&HhugyjmJ#LtJz;YTOgO2mX7V&#r>S(75b3P?mzogEt{Xq*60zd
z^j>QTZx-s?H;b#*lJSdrj-&L}YxKoC^!96a+{Pb8Qr0&P<`zyA?hc{-|I*8Dmp87u
zgiNk)pFED8q0is8@R|VsIH2o3pdC1%&)lY2KfPf)Lig(+>h+@0{Sj;!Ma^o6X6DGo
zXOd>|gvH^njPajK!87GwHz7LxQU-q_fVm5gXBm8^?EEGYv*)~?Q#fS1LC}dGom<Q{
zf7#roxE{=$bN(x=-5-vdWqv{t)a+BY8oD*I#}_`Y^mPm2JSy>e`9|N4@T*05?&_t)
zd1>Q8{mBEA&jec-MKE?jEOkNa*Up9L8N=Cqwbt!(A(ZQ-t5WY*J;SE2eOc)n++n>x
z)kxk}s9xj1QaE4Cf=*8PQs;$UFVH9M(#WnDH10u**F@hfz5wQEk59oRdzzNRG}OSs
zM`%w@X|HxOXsz;F&Rxx2rqA5FtlB3SwE((30d77zIXMNXjDc>Av)`Pev6;HPd_)(y
z$$EcscmIS|X$2%Z#t^bai&z3bSXFM?l(3zXuh^hhS*2GUUtBr@2XBCrw;08{>1<c&
zZ?B&<9|Ie&FgR>7xNmShoB`dLq_vu+(VbabIil@5q7PaCt)0j|SmC&{41TZxJ~&-k
zJ_Owu-`+VM8QZf=Tm`#QSR{I4Ud=M6@6sKg(tX|*$=E$-H^K94o=#<w?&wt1aDY=~
zgy#5^K5C_$uo9U(#}Y8h@P32+%_{TUapAWObkLLtu%t~n&~_LN&su<f+qz!AdDD9M
zoa;1i%7VhwzS9ee=C2({{)*7dp+v!&+Un7n+8xcl9ntUGh`f~tZCmG?wr@tyT=Si>
zq&as20?~kc%}nlsP$&U8)c^a)38Cb!$)N<r<)|MK>JK6(Cq^w$iV`SEQ5m_bP-!_i
zc`3M@HnmezSy)s@O%A3itR$!LPeJa6+;uILn{w)MUbj48db$c8D0O+2YbePFo>(tw
z1#5k%wVS;p2Ib;p3Aen8bak<@vaqvubQVKj^^|hJBH@-6a8-u8<{~OkZ8b*)MJW3{
zDFZi0n6RVcMTdK8UJyk)sG8~>=DX5&SrwJkRAl@Wq0&Bfrnea3CQv?6-E+Kl=cQQ9
zB`%9`EAjYw8}Z-f7rQAg<)~?(EH8^i7^+!eRGjVXZ=g{(Tv2NG3=Onz8r^$$M-K@C
zO&uEOXy5Z6S{fmoYZhd`rHvS-Jr<AXuzhxO(Y>0xmP0r66EpY_aC$b5%zkph3bLBb
z`lzv5%L?+BUUyfX2>~^zTwmP0&j%{$C~xc|ej-3XQtFp&U<oi9tA(+@CGsS&L!L`q
zl$8?##9jTJVNv9IHXTT1vS07W7^H<7If(wj81|`Qn<I%06ymlhA}jzJ>aLHzun+ou
zVPG#h802~e8|)rSE%m7-D^-f`SwbRJ2l&ydH%+Hyik=eLpm`@wSm&Usa18!anKQr!
z>u7*{ofR~$Q+c>X|JN+jQP7~G163qt=q(LUEpWgtwL#;MK`@w_5*Gle2&chr{gZ;D
z{#j$PB^3&7&`i|*{Lc(xnn=m6QzbdFGlgH}wK=<$Z8JA=f&FeW>XP^yi%mN&{U#SG
z0rmnuG!>-TJ!)W^+I;2Chc1R~&<I)tY@1L~ik|$NnD-Cfp1r*)2&k&N;0ewObaFdz
zyJJ)p#9GC8j<7OD^J;+)4IzLcUPoCOKtbXoPA7E#F#f1ER|hd_efE#86Qz#2#|@NI
zrJQ5`lggMBvfw<cm0uB^+DywX$^Q?)`F{ZKhqC<)&@@cuYy_$?6MwOD|H_wErC9*A
z9NXpFE=g&o_5LQeP)@;7mEHK!(p0t8n%$gLJ*p+0_WxNJx~Y)`fSmKAtQ7lb^!xZX
z)@hhQNh?A-LpZCaOQYA^n{Kn;>S|auuRB(h><QvQ-i^OPTO{v=ZB}*RqT?Oa1c{VO
z=NDsXIYGLy0vj=5;INp5r=m||=pAwngap1e)5>&@Br@rPE=jED;izT$=Vd*g3TA4D
z+rNtECkSZP{V+-N9{{y1{8tgH{sZhQz-TT}WpO`XH0cu5@&c8Zz}lm?Yy@R2RY@eZ
za}0CKi@CvQaY#0_$EWim=*`@+9;*)mB&I^e(b1x9xHmf_`-F<8@%M2?IYpKVxM+i#
z(WWZtQ%6ooqh;WUds9QQY%6{=GIs;MNHJ35Czs$szA_DfjII~KN;f8|As~U0qTh+4
zQb{OUnSLwO{R{w9`{AKy6(?0#dJcsWGwtzFq+(w!fNf%*jB<u?y{Mqp65W^^R7c?i
zQv3+#9%l8WCyFs#FzjjAzHU#Fq50gA<-|9Zu1K!+m1Z5WlGVKEMmIeXCH&N&nKiAq
zNku89o<|%s;kVoY1Z)UVUEuMA^b=s50)yWC#%2lzS@TjyQ|utw&T-U9NQc-xHB;|g
zfK%6}`?l%t0JBfQpmdMNRF&owHjucV3Tj55isz8mrJzkTK!7?t%8Xw%4tFcjfTTi5
z%tSc~U4vVQp$5+=%y=JE@;i4r**O^i9aTxC1^X1{8|{N+`aVx5J6)ho$|e`r3AmWA
zQ}+P8Y1^z4?8!f4?sqrZwEAqVY1eeCu+}dlncYpvp&*%l{B$xbYT<9w8Xri`)=;BO
z33hIrrsQ|dbn?wqeFUgKFeO-5M1$hV+#tmZ-FMzAD`aeX0y5gZ`mde>fC{O#_^0ZV
zQ~`uaO0ev0)sG9HLV0RuePl@RV?`>Vd(UyEFZ+sz{~3p8UmUH=+;QA3ljl0yP;>Ov
z)r$2bP;`6hDRnyb)Py!^)?x>1Av*ZBAN^R#W0jtzzbHHwp%Xc9O`(y%o3GJj9TXTj
z6nZH}9hw+CBm$%H2X=YJ0f}G(GCj!s)Is#|9^X#fC^ILB)lVSCn6<n6HFf>X)$hXl
z)Ud)Z8l}8Lee7}PzbIO-);(#fW-aYbvjV|g)j2b_E7c~!%%I#d{utQBW?d>>y_w;l
zwD1b*8n`YH^NZIWO_SapEJE0(pEK=1(R%AH!Uz;|1a*#(1U+=;5z&{0H!RzaKPHu$
zpRPqP!v4Bhn$vHP+Ne_ztwG)TN@nK2R@<U8J#N8K0!CB$VO<~FO2X3BP_sn;&)Wr_
zq1dvK90;hqh#sc`)!U(lz}@z&C~|Yuq6$M3W=*CwkToG=oerx(4RUI-zx1*F(}vb#
zc&f%HdfdiVG!=(PqN2MYE5E`(w-=Ctd3HcIXPEt*m7oC?xb!t%%gh``RS10m(8iR3
z9jp`mfTRIoDAkvHFS7i|EZ8vs^wZ&GHKvs$B3*HKNDFd0w+IMOgX86NjRpLhzPD!b
zVefopP(n)3=UZljTKXXc`q;@j1dA?b-j923%2e<dkEeiZS;hY>8`eA|E9sLVFq+T4
zmn(jLqq=^L*Un)?c0=>sqn>}89N?zRYPUz7s^oGj%t`bYQIIOT&0Fyk$V&st!0&po
zBeLk=VdzK6e|T>#rhtbf8(!5FV26)?Dk)tZs?-4J=2ERNlk-rtw_gF-zo<q^{<w_D
z;uJMf15i}08>MCO2MMOOu;T%Gt^7Wp@Q;brRCj1DOjV?Dy{TPaZ)XhqqEQgc`kGQ*
z08n?84Bdj@m-YNz|AIu8%>H->LESo}stY%i{U;t}nxJV0+){zg?-c9ZKB}=-i-dOZ
ztdqP&f|Vfx#Oc{BOGJ>nZ<bP5$UWY|jhIU}sk7$RXf5y~$Dx8}sNK`Aq4jaOF0en#
z^;Qc2=sdNFh{cQ)<xr@DSb3}9wCiLK`^3V3-effC@i_`V>L3#NBlYT!j&~VB^*s*8
z*!Y7hBolJgn`YXQ%@q%{=_kGZ+EQNxNMY>hx^2#?<6@aF=h=n}>fJu^J>_6~z-ym+
zoVI$3FwkDD1_fE(U1w6Evt9ozF**yDd_HaXjBa=!RbRK}CHl61aWB1wKFkHQS1`yp
zeru^1<2l;IT@HTtSKEDXO`hexXBO1M0s#t~;pZ9-aaYdAc($5RPksLg>rcJzlxJ*c
z1WekEChTnDZF2Nz`AFHuO*oP|o*6`M@F3PS-f6Ht`d2Oy)KK1L`ATQlSdUyCgMqm-
zYki-V(igtfwDLy;-@k-qZfIzh(tl~w)W7o;C^p%z1vRuTmB*iVn_WmU^Z1xr{PiS{
zVnD@x{lw9-@JjmRT}xsq1Vpz9Uy3dJ3LFPnxgbEVXNoYsK2<>)SlIrr`CI>_AJ<{Z
zEVXh+cS|5?8y4i%vmoqGTXJ+KbRpjZ?_3UcaOmC!x*kvcsIhLBOuhc~E&>Esw}WNt
z8XjUZ9<{ALJ+=W&482)|iQwsadWXvk_nYFVJBs6s_0t7=a<!Qc)inp7zF@Arq$s6{
zmxCv|oBCwYdaz6vvcOr8yip~KN_8TP(cL9F(VA99))UrqBBbGW9IQjlw!yOU_?M0T
z1GybPYlvSk)*uI`4r|>fuLDQ+w6S@s8yMJ^=L{1a9jCd#e1lE+*g_IcF>8|+<Wbtc
zkzL2%W|;-61XIT)x{q5<f(C~2Fje`KQYt(9*=XNT#>l)se$YP7uwvg6?!5W4mRgCc
zj>R5s%*>$6cl(J>m&l2B{jDoW2`*AKpn=y!AdioHsg<}M=$vUt?U_q20rXx1<z=~h
zpCL#0S6>G7MmB<2vQz4kqeO3phUGqv6>dpB6%5KivSH@DnY`vfcWbU~f9+)myxzMn
zsC;8;A!O)pPR((j%bE-5^xGeTM_%vfPLuV01gHUKR!DgV(OCCfFrFt|<pv2F76JKW
zM(ylJR!*NGpb4A6@_2^L=e*uQq8%xb*0i7wQ7c41Ns49}i^rfmCgT1V70`s4d-**&
zi{>GJsH(f$mR^589jJBMBO_s+Z@Bl%Ia72d@%iIA=WRZaV2TyYJmm^`U^%IK=;giY
z)7Q5MpfEXuKC>3vDmC;+OBng;M|F#F8c@g4#qtz!^1zeecGiOl)p9T>!Ym(eCb@Y0
z9<#=mttByo!)Q=dnfuJFKEa!b99jG^WjHFo6W}&XuCE68CD4DGtXbCkHN-`ohHCgJ
zEOlXhC%RIge~#-v137mQc;d;IvZUjZ1P@FKd^^c8gN-V98&)c0nyBM0A<!JCt4RY|
z(~~W~vX+luE;Y9OngBpIX+Spmc)$>|IylLd)ztdP&9}k(FDHnd+WB083ygh5Hv0it
zWCnpk5jlW+gNonf1Uw91y!W3_k|FGc#ZE9?bquNdJplUT+D}>z*06_iA1*(xiQAul
zN_Y|~^JM7pP6RmKmvi_lP$!1?sNT;7N{>J;E>!MfMzD4sxq<6h_SNbFp;bls`A<i&
z!8dl#4k<f|)G~aDtW)P)sZGuf>%UkI&4Yw}&n*A0<7F53;i<>RPWv>;`^!hHb1I#d
z8gEe-O{$e)^+4heeDI&{$a0nxd_vy_3@8)_$#7QT;JErE@=f7_YH!Vp+t>T92V@Bh
z&sSG<Smt8Qei?X|AMFy(yYo02hBU76%ZD+#&K`adfY`GxR5SJdF}I`$jT>uvSrjA`
z-#?7d;4H#7Fyvv2`nt30%n%?p`A2U@JY${23WPtw8Jf*HFjl{2{hmgPCC_{jvq$t%
zTCF1qSl+*v6kPFtzd^#1$~JqHs)F;*wyB#?UmdR()lP57J&--NzE8)$KqS<Ntao+0
zx-(A*4YfSpJqV~`QB_t0`VzzmL{qQst>>RI<&-l+K0kO;gf|<UaI)&OvuD4&KY%-%
z23iqlN6#~~-;i0E1$^X=-&7qCN9FE6P7j8ajy*^m7#J2=`A%%QC3%c(yTA$BmCek)
zf!vZUOMPFP-IKnL`QC<Y?)BjDq%1EwcAB7HT-R{?=kuC`lp14#Z*2Vny3D#=gD-hL
z_osOLT&CGnc2jI&-SJNJHGIAE6}Szpf3d(>MKi<qDG4F$QmUelT3j;T$NZ6<d_F)f
zNwwT<dfbAO5(QCnqP5nI&he5i+Ka(Cb%;(gEGCm3r@mj|7x@;ej|`{1VJ-~$0Og6k
zSI&}@eqbNS2v=X*-`xK>n064NpTe?~IJP==Sj1BBQ6f9!uI_zOj;)(ax-HwM2TU0j
z{+`1X5CcMNC*%&TT_qTFi8%D&*7|naYzhIhTz!S9^4fPb=ds50KNXb1aL<LT4nc+f
z06J?wYz&neXiB$}E@-C5vi0b|QyJ<(j+nCI9?h2O$wCS=zgAQKpcs?za^eg#sKNQ@
zV2m=G0&SGOwOnN6EFs0k({l$E=w5b~U{)p?j<HU=+CmFD^Qh*yL+4Y<+6AS6VOdm~
z%%`7GrFgwzv#;zyRRRhJF65vAPS88D^J)EG#?+-NU%{+D9jjoeS8|C#z8G5~zB}!O
zl!oK|7QJOdZRv#y5J;<_ce6E%%N$4aeX30Jo}6;+`}6q+SDaMPh|V9tLCC=8;-cnB
zDnqTb3)0(fOeBk6!}v-lVZuD^!syqVPWSHsiUFC-DMXfSXC6Ln32xB47O%rK(R*$;
zfo)SXqkP+KlHBOz`O?QI$*W?BgFEEUrUS$%GbpG*-uz7P{oRuvB_FT`J@bVZHy=c&
zlRORX*0L4Y1YC6HxBdozKs`0WI7v?(#P~DALI6g;NKk4SDc6FLw%XOzKRA-Za2PgA
zeGn+)oYi|n-mg2uKx&&=NtSef4=e&1oh=vV!F=`G<?Sm9EOhkk4iYYiC38m5)yj}X
z4e1O90He&?AL=#8<10EdwZEmvdhKlq{yfYLnH9{lk$u~R{qoyU0gk`_v7HDX)u^(}
z6Cn?E!V1~|*{CdNM4kuvaHB~62VnEc4Y_f;)t{GZ!;GQ@!P7_7_sF?k6@^egorMNL
z3nB!Mcp>vuJ3V!<JBRIZzLduM83n(LtlyBLS0GS_cnKLYRb(`{p;_mdmkBffW+Uk6
zzUFVQVQqF!;QGVQB*?@22KR!M{$;@QqOhs3#hFVna#DSWVKZ{-q$TX9as=`j>>M|j
zetz%3Bv%sYe6<cW5NpyF#OIQl0L&v6Aj(|BK?2_Nt#3sW*)O*uyJUa-0{-FQtg5Dq
z3hx2+bOp>?FJW#oHt8rR{09l|(gOH?7q=){Z}abw{b3Az-UoqjJ%&Z?j~3GK7G+n4
z1e!TXDaEM{J&6!hcP`+5#&dl>If&UL_|`ARu={e#ErvW6vbIFFYtek?Gn>1aH+zQp
zvZM?)-M<66F9zOu3z5XNeldc)V^hV5TVG7kn;~xFfEg)gUrpeNcSOcy`LcNsmM1?M
zbLIXhzt9H=BMA&Dvp&oLXNLRPQXg|yJ~#W=F31T?G0Az7k!>#3pS7WNCbmbZA25ad
z&A6@&2Sf^*##O#x`F_<>{=@gvo9oUQOk7-pa)yK5)9>M_QZJwhJ55=0rwipE&^hNc
zn@iXJ;5)6ByNKa1LJJb=oi}Yw`q?n|yL;l?Towp#1>%jr)F=yYxvxhyOSP)rc>Z$9
zJZq`l8-gb*Sq#gvmVLljh;Y}ef?NfoxUp%?F{5CSi&%p;9JiRHCf;*Cz;jBuP;mEs
z(bE<4|F}U5JiEj3p2*WjwkFPGBjhCKr)}|?T2hx?cnUP{?GxU!=sTM<?~+F9#bH*Q
zGtDM`7m4`ac;(8wX6*n&m+Z8FUm1(MIAM@<6g&C^Bp=E51e4~ZYAwr$?62SJa8P`9
zrvdAKtADQz{(M;EZ^Dw{{5jV;%)%W>>kl(@T3myt>P3a2tc$Ip{g2De2Osoqg|&Gi
zkpc=99ga<f4m^}12sK1ut=Fo2G5MT}115fYFJX)r&o*W7Pm8+&wO`$vqC(GD1b@>q
z*4cIpV!TZy>t+<~p7=r+S|Da!ZzE&mErsI0lz6#j`n&g+>Mmn)y6av}ba<_6%xgB#
zxtn*M<MZB4B`=a6!Cu<gDP*pSD_lmtvhNtp2-fR%y^v}(1PD8vIId!?GowGqjJyYP
zUef$6&wKF(srv=eK!`>t^!wK?zv}anUfpn=WZ<`OPIK7&2abYU5#bY|>u)kV)cjW7
zj8yex{QMqZcFxNCa4oBN_^ONc&d3-*7z_JETym`e;$hhfzJsYA8sWEHKTFB=kmL>0
zTnrPlxN?)*IArvm2E18V3%$OpMEj{{Hc>$8g_+-LJ@OuY078NO$ok`n<xycpxj46t
zKuR<|nGB|06VSd2pQ0~{*KtZ9VijCUdG6~mrQIEWnRW54q<27oce2oN>({GI?^O%?
z+|BJj)T`$T8p!8v+{bw$BoUl4rccv6Z}hJe1{T(U)n}MpH=Dq+Ga^h7bgfPCPpiri
z<~2)P5A)THO=;6t<#a80z3XSLJ2Pp5j@XLrpKElzZGY1v;r}Q!^pr)P#Ey`lL@dn+
z;-3we<UAX=5XJ2LQ;*%S*{Z@WBc=y@iXGgNX9n)!3YE-L1(E714As3d;NNfNjK6P+
z^}Ba=eESkmL%PRB)HI}!e`!maYCQ>as9cKR6LYZ5E5{&OgTe39N4znl`@yeO*W5Ub
zKS0zC4mi3WURiTAa);gol`A(_&LcPXH^bxwnrB|V)UD!8w`b(epT_c>PLGzpQh`d7
z`*-^z1(|L+)$T2}vv8wBOzQ<->lmn<ek{9qr0_vExb2x+PpO!*vG6aH0niLQW4P~T
za&#5dsyRs)YJ?s97y&pcqZZuCt;aFcxt(d<Lk~Z~><}Tb#40&$Q%++B14-+Rezi;0
z=9+GjE@C)Xs`P4#Gu<Z28AZ#%h*otR775(T!c@ZksmHdAy*TZD)JlXz`}B_}zYdL5
zYYX6fHlE{xh+Q=3@jHIEANKIm7pNOu>3KTMJEr4*TMY_7LEbxkMsOi%yDQH}+~61}
zwmGG3GfTO2wJVvmWef=B>F59R!2O^jc&#DxZFvs_@$r0py#K+=YTOV`@2h*8nmXDA
z5fG`v9@})i(&w=2<B|@dSWg)l+kK6$Iyr9<H`#A<@eOmkj!Va(z)|}C$PJ)Y`Y^5_
z0sYZryhVeZJO+8!9Mns^JZb1$0ZBk;UuAlryL!p;Q@wV$aXYh4`x)_eY#B_Vs2l(N
zruV1V48sg=qVwGDZroexMj&R@8kYr0!W26>lZzU)pu+zESS&S#EIE-ye(j8L#dbMr
zN=osf?ciO#pARJ@?~mzc5c~`_G4C%L_RiN-auNQ936`5CZb6IpWd541a53HB09o=s
z5J~K}jrQcaE1QI?puCnM=%njp+{FKs*pf9hK@Z|K-v6jqW2Dj5DsHcCiBFurX=`g3
zE%{gPUs7FKf@#!m-eV@(<idw#x^5b|F;}?E=di;KBmk|mrAjA{!rS91hSgz6D|;_i
z^mx=4y~h~wt@P^ko3_0`tZkL4AXC6B`Z6z|Wn)YF#dMwG+OLK-$}l16V2|{_+S2D5
z6_Nv6&)aXzGINIX5pzv}rAF1*JZKW^pX&ZhU}TXz38VV>5AlmR-ty@enNMY9_~Rt2
zppgq|TM7GX=c7V@rw1ZqrMW67-6@JSfRIjplbOBYlo|U*qT<L+tEPC<%Qq<C8<38A
zl`G0f!8@es5ayAan1%Q}XNmfF-=Ddx*{Hxk(WP{i(C<-q@bYkaq1E_@l~Jz_w6H-8
zTAzKRC7f>1I_us?mlN;3yS7RnA458Cud6!KWK%0wi)i@T+qZ0eCEAn2w%yTB`-k-J
zk`b{SB`(BbvC-!;$1nN5b*=a$n6lFcXiFML;{IA=w+$fFMkL4Yd1I{HY|h+RsWLl<
z_|PuzY+xP$u3&V{l|B1nz#WFi<|&GqoV<gzq$PE5^=_}VnOR1^2t8Yh0VPXmM30EG
zN2tl2<k=WFXV?v!<(a)`HyR`YzfYJRAau5`J+#=F78U&Ivtpn1XKH|Rp@f?e9TZv7
zo1MYZ{LeW)9ou@{CGwrXvVt6RSV36ZT-YKANU;|F&g_pebDAt%stsj~ce71|{Z>~~
zGJW+5s(QeaU1E-i6VZSj-F}?y#T5QZy2zzDb^hGG;Aw%ZQ(O0A(SCFL`<@8?5qRSV
zsIC#pzFsm`T9L6oig{&&{Z3Ks<R*)z;x#oRL273IxHiQh@$J(vsTq?La62_4W1R;1
zsfRRO^`!HG6S|p&snlk-|0}Bz4nGD&)&Nr3<-rVH-5=bl%J5jK(=>!`4Wuxj^CV5B
zlkY;ReU9sWJ)~^hJ|G&T+BZ0oLr*vKID(l;Wg4IC5}&r{jh8MBVXY_ic+<jP*^m8v
zsVPe|>PY)|XOlepPBJbH_N4~62b_sdA83itMqajuw_XmI9S#aY`P{ZF3htA={o=Y+
zxoCdMT|)RP%^mI>rcCs>kAl0Y@2~csZA9MjlnO`08iZr!cahjI$lh+rbNX`W3xtOC
z2AkjZ0EYm*IN}k?Yq^~@MsWJMhu=#<iXk+wLCnbSxEM8NLCQHQXw%)IL_HOmT@)2N
zo7N=|w(?9m54xZEr2kJZ{-FfZeuT;H$VrOnAqSV#+viP&EqO}XL~eM`C~4ZyVEys6
zk7r7|T&It18uukp{jkN7gHM<!d;UAOEx&!Y0#N^ULpAUBpMuPO0Uwc%o(B5+BiFrg
zVq3OkmRpF1O3s=iF=M06yljTB`lFPohXP8b4i)Y^qk!q2YaSbL=L4m`f5l=<YAXD8
zaM2jfA>&6%;$tRmCkh5Kl1d*3=pF(|$(VOBZm(r7YaE{lf2|+6Vl~jcq6K|X++>!%
zoD>GDnBIFU==^qZYHG`N@WdyOspy^(<~QWCY|;&^_riCr^n|a~&FcfTk*`ywM7zfM
zg}5~K?)V1AL!ZlO94Rf`t%KsvOEK}x{+io6*>Shvy%r9?W?{j~`ZiWr+>^Xlj2aro
zE#RV<dbEHa<fl`+y6}C4Xhl}?Fm6NV^!CNwEvAF+T95sxx=oa)B-5n#sg=GU`rY?v
zZSWm-9qGVqI>rsLb)*l(KTznr+v<mlcwR);4)Nld*z)pdyhEeQLq(+D&{D=q#;Ebk
zT(CN+zVZ9dqx%*i8}4a>B{Mzz-4O`{EuWh;8@JO^Uj?WZvW^D`#GF$oZ=R=dRGA}w
zdzk$Z_N_<c%x<pUTHKSpkAPQ*l@mg}GG*#Xctcu3Zf3^|$lDn1Lc<-UA2^h!!JnK*
z0zip&I1^W<BdO!=FOS6<FzQ475~xJ2Frb&1zy|X?-)<(PDjMFvZEmHIxsE_gv}dlG
zpMBgGwurNJYnwKLwr&JC3VT4l#7zfm7ahJko7RTj@8<O0=lZ?ui+0`*8;Y)jKSyXg
z{3J+1FWgP0oOq)Wq#Th*{43Ksi_HC#AJ>nk;*nB>v!&Oy0T=Vj_Gl?l=0?Ca2xH*Z
zEX*uW0KM*WWWw(6Q(ZU6;zCX(W8L^HO&*1U1IA?!dWqK#!gbII(qBTCzx9gz-2V2S
zvcHaL86w2d<wHkBG?rhMlSHrFwG=E$;p5bvXnPs^jThMphr_zE=FgT!$_n^l=k1U<
zRf7MEs$ikb9{2gs*RhGxUs*ntxVvRr+iie-t<kP|uPh1$y(zw?7l4RvT=PJxG#lbI
zu5X0Mf4K7Yltht*8>R2NT}U$bIOIfDZkg;&xG>iu5UvOjqd_4K@Z-Y#f)X#HynoFG
zez2(QZj2|H*WlIK=}B5}3P()5oaW-<J1!6Lf^Ne0$1k!R0^UG_W!hioynAl1sH7df
zyY-w08i1^eeU|K&UQ(8{au#wNsDjeUyr&5!o$)f`+?Hvns{A!IFDknqxW<^m?oyvS
zH?CNS{EOSm)#?&?HEgQ{^r7X6<uHKRfi+!7^VcK2NS?jm_I=?3r`jZ)ZHyusw(2Xf
zMAU(gy(g6|nlYq>H{iO)n6APy?eLHeZ&w@TAlv@iS8UqRgWXN3-e*hkXMS?)0`^~Y
zRCjL5dWZJnHf~$y+JgR?lZSu&?*6@skg{N}e8<LliAh2LC#5`q(-tS)adANOBweQ$
z8+)mqHP!i{2F6UpUL25BzqnE554@Y0wtWV}Uyx#g(yV96N@V*NH79a;2ab0KjdR`*
zKusP3D}2b1@(IuFVS+uwGuCGA0ivgN2FF*#Z8M-d_5%1RHr?Me7`afR9@U<zCW&Bm
zLPQONBM=($f$HWCJGx2P7UewzJyF!;O>ze$U?62HA3{{4owHA)##d${84hKx7OnKb
zEE&S93x9PU8Dc;3pXwKi)FnxGUQEBBZsA>qAveK+BIv0Yy74CwB~OHEme)QPM^oM;
z3VNemT+fi_NLR-8YVUnZO|Ex#L3|wsH+GECOTo%v#?N9*Wi~CdXOv1+y+`>U{%X2m
zOH$>w%r6cW;ht|Yr1~qJ27uCBv#B}__`5sGui%8Z{`L(4PG?hhwl8Lx=jp}tF9hiV
zf7P8P!H0pgL)-DD70+#J<*IegA{L79HWnAbVqx&YP`8+<ps@tow$B`wL$EPDOunxL
zUrF^b%5V%$rsC92Ta}ibkV4F5>fLa`^7Fu!Zebak{@KNXPiHUJkVa1VA}DzB;A-O4
z%RU7Bd^4@xBA?N#y_oDB<!J6$<1^mDxo16_c$tV$um31p5xSr_%m7NGDRozJq{##j
zL2axyD|~WBOc>sFP<R^FY`Rp|*`{51yU;e(>n<6-g-L?0XJD*Xq7(nKn>!rzi<U_b
zO?ZZ9-IXb$sF7Th?K6xDzh^;mTv|k*7MVbnA9-_2oX-?Z5r4OQ5zQ9`ltm;G@c*<q
z3Yt8dQyYD&iWvZD){J(a`kA=SEd0r`zy@=Lr(2WgQ=jC$n72FoRlM@&5%%Rv=dXx)
zuQW{#i}*L|Srft=Vy0%q;D}IEQT*$Y`wnegX`f+J0x^C>d>s5{m(&egTg%SCx`fc-
z*;(Z8+fduIQ8*IVyY4sFKFnGKW;`<k)=sC%oq$8{q_L8Ejjc#U&Lvu$)1Lx;Ex$!z
zr^`AAQ<>7x$s5vseh$ryMb_vLE49g~to5XS`9@pYap6Izb7<N1Z%82YtUf7Y0Ab66
zN|O;n$utCCz-CN4EDQQxRnU$EI>;h>F9uRJ7`EODqyD*l&w*P{I1OmJJS7HwVB5W(
z*pxpWY={^E_S(XsowUZ%#lb9mvBvih{XGDljvx`(!kF0npQ3m0gVGpIG*<aaeV4IS
zKdJE7i6J%>>&B2im?K^4P;usIq$K=F1-t;Z9<<P(`Q!(Z*8Lmf6G)Eq7b|VSn*vC*
z(z10v8>TY%EID)p@MBFxwHh@KDH@6?$dnp|1aPAR1Bj2gRnBKl)Byg?xo59RLhpY2
z%^47=^UvX6Ib!@^bl*JxqB5<WCE6eecon!;u;7atI)!t+h+&fno#v|VrBDuDo=$8G
zZuZH%A8-!ii#FGUSi<7EOWZEMwGL#3If{@%v)A*qwfAO0B4k&g?5K|y5GO>I$8Ayd
z4+ba9tgSIIUJl<HOclgJDfV_6NY%5vv3NC_b6NA@mcjaR<g%Zae_uMTr{<7j?3HnP
z;ub$@a-M%BWFUijpvsZr`(j(V>TB~um_74M|1SHp!5`4Gv<S-~z<Uf^_Jt1;b4X4L
z(*($*VavzjidkwFuwD)d+MOdtI3y-OYi+EptS48<)}A}{*xtb_F|cz?KkkRFW!q&H
zet8S74M~H32(cOgZl^7?64f|oX85d;?kk!nGU80%<dv?AQ1fx}1tlB@In-TRvPBk`
zw(SX4>(CKf({88jALRd;*w`->e|CdVww&a}=uiw@*L!zYE8{)H&^{!QKScdC*Hgk1
zuL5KGJD2*0TqDxKy-dR4R!q_LjjZ4eu^nV{TzFecB=454j`k3PMBf>^XvVeMrqN^f
zmP(aWU;6cR*k$aywAMYbwSR)&qZK%P?Z*xV6@C@JLCR?)0`%k!am20Bi=lTTODJtJ
zvwB+gq+Tt9T+{WpbvA}+U+ITJ(!Q>}e6W5^2k{yz5eB`mLi*{PXGrjg)?pW1JK+yS
z`81l{p+WV>ef2`-WAm`g`x`Sm?zyHf=Btz+iyPZVd2G`3bKXXF!!%;vO07p)^`~Y)
z%_~#P3I%msjw1m~nc<T2M$so*iBv1H3t9GUxY)pMt6fN0ow{hzR$|&XFx&G*##1Br
zXEE^meNppg!+zl9lWMq3{=GJz*m&x--q-8F2C>=G;5j9#N}}8_1--dq4P3RB#7YuQ
zc3}jo!N4t_?dDb(A55a4sba5*qBP3fJL3dxB7QUS0ro@*6?u=k%-YO`eeRIPnQ1}4
z$GLLZ5zq0Tj*6ga*4DpJAKJP{(>n-0#(6$BclRzetlGg7nj*;GrDpUHkK@=f%FA5W
z9g`v6eYnd4`!A@JXj$OY#fvTZc@G(Lqp%y($My<*MbJ(8ag!IDoVm&TWggb?Fv}WX
zHtl8v+49$?s>UeC-}36#V$9utd+4~EWl8_J=ea@?yo?6r<K4KS$s@S_)r)x;$NBj?
zV`ka3Z{8$DWy?FGBeCa;pr?i|iZ)k|X=hND@pH?p^=<_mGi}B$ypb9}1pB!$0TI?0
zBnjIe^z?Zf?O?|bM<z=h{~G#pjk&6^a>2(lv3d2uJ_nAE%$c|L-aLUf<qPz&70kE)
zzzga)$uq;r$8x}<h%-y;8D{B{m;3z&La%F2&b6Nl<gD(T^SNMcUXt^T;xDC>nYehL
z_JiST7#I1b?H)QDsk(ZyW^fP;7UEo7W?a_q!ZDEB=ZSm60HoS0pqw(<-eGre#T@_#
zRNnh5Ym%9`xux#|=pYs&2M_@-tVn0bip_@EiGm<dvdBXsrPLnfxVvF5zkj9p&)IAN
zH;kqu$fj)w*MS4ErAgYnq{VK!Ri`>KvK9k%2$yHhZGRm1T_r*^!o!{^HXRJ(#t6OS
zpsVFo-Qoy};ZZ$4G|trNfZi?U+_eYHGlq76e`%-d)533*-8D}QV+)}5^6$Y@S)yn|
zGO#e^oTu>xF~7+XVJj(2wndpJ*v~l_<e57vYrk#mNUxM!PR2~xtE2Mm8&Yeb>-V$&
zJo`pDyx<+zsnt}rw-xr(suTvZqh61!ZQ0LbUg0riy^ll$^h*l+-DxLAaStJ`zbbnG
z@uoUdQJ#m0yGvq5edL$cmsbSf&m+i*aFTC9(+zU(dzGcsJUG5nj~x_tjeMyGD65My
zD~Oa{9McNV2~E3?Sb`$QY=&1xRA}1F<d!Ps53%@7qsr#t;E~;?nIgz-0d`o@O<T)P
z`c$XBn{Wb7x@40nn7*-_;h4TputsMCdl-Unx9&nT&#eJ-b$jMvqUMzo@1RQOAvD2L
zW1(w9Ke=J4_9IDtd3~Ozy(A2Jy_6SSW4Y6vsv)4wL<Zw9!?IQyL2hRN^QwOHrJ)+#
zhPo$?!EM}*mm?VwkB7QLw|t_Q(_Ax6lOaM<t5*%sUh99I-F7JS4L}YnV(wqC!Ol6X
zzS><xPY#&0se-_00i}(|SzTCaRathv3HYn9U$zlWF+X--c1B>g%rtFe|8jaz<9-p{
zm#y3*awu5jtJ3Ee$Z%*b@z;z!d}ARVz{Hy^je9trejf$nmArV`fnbgu9mWz!rOR6l
z8`)v>vna%{bH+dx|NE`aFk6-2e}7nzMC)yq_&LEsEFa@IFjd8Mxv^yCg$1d{W4Lfl
zlx})O&f5|s2Y@fu2r4WfAe_W(gb$gQD)R24SdAKSs_Ngs<jn^7wudE)Z;kE0ywM6C
z3oc<d25OeoH?TZU#x|xkNAkvG8OY0A)l6hv#5R3#>k9ZxTJDN<o%QRqJn?|bs~{BZ
zaY+^N9;wz_pFKi`h~1p1u3i803UhrHwitDGoU`Bz0i#UsIbvM$sh?xc#Hx}#&eG{C
ztkWe&b<9P-(AnS;`^G|vi?N@ThV>27y=-kDwq=nMPA>$i$i{vv!qS-!{4SC|Alh^S
z^>m^MvZEw<U2>*}v>yj|Uh_uZfL~k`d3`SpUJ<;@rNqDRIwTMr4O|T47WiUV3j3Fb
z;Xlk^YtI_<OH!<FWx?Y5@p^m;Cr3Ycdq(M;5$||wQW%)i5-mq~(d%5lgGpeMMCWwp
zye2$L64Q-n&nHS2<^$~)(QFrkn5vVG0oNo`vW&uq=MZ;9Eib}F|EP&lFy90zZl~cX
zHxi`27aV!wi$=C7e#~j%>?oiTCZ1++fz(YW+R~XQA3hT9MPJZN+i2FqXvO!GP&JgA
zRR8kGJA>tCkBGt8)(_-WWVK>*mcm8!^*CE9!tFxn@IG-wjdU3*HO7@WNIXg%K$~bU
zUPO2tus7u{Dv(#tlgEz);QQ+w3+>?a@*LvQAeqxOdYN;YGe)pE6_N$pwR9|~fjpK(
zbOw+)x0-1m0b(T=5yk?}O0^HJ-Ta`RrX~Q-gvR{6eNhSlN7BYIhw%$|A_i{@GT9M>
zIonbd#iUn8m6eEF9e~{<Kmk9HOpo2535VQAgtU++|KcJL{+cwV-$v$r3Y)SLQBnA!
zlymgq6D^mo->+g9x5`pB42S4lfNO7(;=hXaw*v~*EcCWxO<)AoTX7+z)*)bCxwB;<
zhm}lfS|MQ2eUm+zqf>NO_`6^lweX9Wo6iLOMaeJdVTe~5&qWwNe9r~bi8?;cXAFn0
z4i1Fb#=OL>kymRwZ-m+q)M(V-P4_w`y?vtlP6hi!n)qIe{Wemgm)P9Kccm(=ZKL5l
znk^ZG9LgHVC}JrhXIf@Z)IUqFe<$<V#%|Y+Z2Qv>uw~v%q~0XxE}-`v^7P;k>Ol!b
znA*;;y;RH2RMj6OuDl3UEj*}D>mrs9kM(q+9BFJP6Vr}1RQcde>NcF_9rfxyZlOXX
zMpjhTjN=CgC7GH^nuDsD7sNjZo~gJa^DO?%a}EX$u(t4At0x#D{dY*sNE$32M<c=o
zzIX<AM<=}6oYD8F>4h+pNKr6rft)3*yxQk*Wcaaof7)EU^n~7Mz6$0Ykp%`Pv~Y9?
z`@-6QzTD>iU%<zt%d6VvF^bZCe7H65?c@FGrI=w6lhhm2e1eEMa9K9AhC9^d(z+Bv
zO?2nvdEH%ryv>QKgNf+uHy1+n3cigod541C>@<v=?XX8s_}7%4$|Z7zUhuf%dkRN|
zMtFUb4}*mbFN6F9S0VWgK>4C8#4QNn9x9zKo6OChBBg|K`?x*M^cd2f7;DN*YiBj^
zKN<aK&=@>Wi?9v-SZNj%c?-vEa+amAQl3R0_)AJb0c3HqtAWN|J*EbZha|y}Uf+l;
zE>hwOJLLs1I*~J^xMJ&_+A+sxwus<>=`tPn!G%Z~vTXF%3aBmFr|N#NBwI{E4=J8P
z9+bi|PNA>#KS|-kO+<$uC*M$fm((L7er6C?KW2<5LM+<w>Q+KO4#>KYeFlREu@<Z3
z#{~*Pgx$FdBs9{@Pnl2h?~~@%XIB#t!9mmCcm)yDw=GR>6b@8e8Tbotx_ar!6UkUO
z1xCgPMSmGf{bJ#HKln3-x%L}vHTZtW2y0CJt#C#7;l_@>X$OQ|7`+}~MGx69AyO2j
z;OFQ7NQVG%8b*c~);SS%m=!TBs3P5f7wSf(C4FSs%xxaBs_0)1`r+exECLA-VW|$Z
zw}9V86y$if>?Q^8h`z)ihIpen8^jx00-deSr(R{#hH#wB7GPxfWl<$m^TDQVK$K{3
z+;qY{8(B-vuSM1~@0y!%(3YFFKX&w!+BdcuVi8SiE=ELXBd{x==p|BAmNt++45+Nz
zIX)Ej_j&uy{!?aV525lVXZ@`WuSp*E8eMzJ7L(q*bw2S;XrRt0|6i8q6~Xe!ZkbvP
z4<hY`Xrq}%%gktb;T<=Fz53?KU0A8jK&lM#G3~7?zlYVOK`v@f)32(EwsSL&REp}w
z764Wng;>N@<Kw~zVZ?BiJd1RzsXp*VpBU_S=t+mZh6~R3LIuuoet{k*1VG3yY>~*k
zPsE=_1|OVX-+Qcoqe7p=w*8{r%oSBc0sY`yK(<enC@;17ykf;d`(<V}>|Q}wRmPjl
ztJv8HIpkZKS~tKIP)$=8BFk@xSNryS2j9+0{+N&>O0>x;fy|$|?pR29KS<nS7D&?8
zRXnts?UtD#Z>(n%<L{vCoHo@-T4o)7hymaY6AWPkRKoK<kBsn%KMl^wwZg=Ku{Jnp
zYL7^`)UyDqJL!7!cPq<&hDJfEM~mnWF14zW1jf}NDS%QaWf$rwPt#Qx_#%g|z#~RZ
z6;pM?m)18XB{io#ZIz4uVU*|=ciT=*cA9@$$kr$PJ3~yf-l{cczSOZhLXmxVv<H77
zE%I8_UkMz>2t_=~f_Pb51dI}wk6BS03~jEd)&S4CUhvk%f%&3OhUy(rl_$a-eMPnG
z*;%vm9458T2Ey@}w0a)yIj2i1O-@AU!yV`Som^;|-zagz!}bnuS|bX0$!c=P(r$!D
zT*c>2qT1YZMR@5S%Nawx&MLDB0eqeSOkt`Ag6udM=)gO=vJ@vlo&ErNBO&mVQ}mDA
zKCDH(rcb(t(58AX@#s70XM1~;!9%-orG`PJm#eRSun{JAqU$~KS~w@@2xT5f?|=xk
z`ILbDJLpTgtl`kah#^@-WC-s)q=LIWk~n0xhdhWj4cbYN<&0ZFt-PJ}$&bH^s6!cG
zAgz4~bd&Gc_@Dlf#(gr$2WL56L!Kdk+qIT{rWVy3C5lBl{s?B5Bs(DOg1E1eZ!w9x
zO78J+S>i)6$T7syoXjoGl5d<l7z5K1_cv_(7Z2|XuUZ@8@ndDpPhjTuXGAmtV>>%L
zDA?cMsjKC-GY>NDtAZX7)E>n{$S=YajChjG6ZiS`#KHEK_24WAijsgDd}mZgv$u~t
z$j9N^*7lIXOdzTuo%_rxAOainob&U|GAz&D*2GFVBKd3i=Gt4<FmjjlUmfjUk|3-F
zcczeKb<&;|EiJJo3%(pz5@b1;P!$bX=c8KPqA^4)6+#3NvxWzbEqF)$V9Ad}=W7ck
z@QYf&uL+)P3z%%*-y{A%M3!Rs@k_OF1MfXnX45U^VIdA@gTie!C+59)wk_7huWBC@
zVKr~G12wL(G+6?<H=OrHbVJ(y=;bHWdFcJDL%rAxQfeFq0&VlEIb${(8AHa5?je1)
z%n?5UumYRZaQC@=nff{eOVe#uYuRw;{e|UW-EBN(n~lH^_cRxnrmMn5I{s07QO$YZ
z>#L7q<EyD){|{{SH-#hexVB93Zf)zY@P!D6E?j+}3{6m6IoUQ+XlxGGXdB>3y1#GV
z3-sBCf8r8N9q{q>k82|?31x48NgFyH+q(-Ttkc%sykT!=wb4zK9yGfOBdBeEJW$21
zM-601^8nNXZDWulgB_{i+4~JR&3TC2u7@x_Kyi;&T=`Oclx5|KIFKwFxijmq&c_-2
zd-hlJVE69M5Bm3>%oad3bRKn80Pqe1-fR&m<2(#ba~&_E-w}f?E+X5Z!NWvb?{S~<
z2qQm57BW-kz18WN9qh|w|Jr(OQ^Hy|WL)U)#dot6u+F($z3F8RQRBMXv58G>xa6nC
zEKL&z3jttfPWfn+Js<md`CaoYP6QhPlO1jm=}3Nn>J}_qFjVV^lD0*wilTdD<#PYX
zEv+_iY3$8&e9OQMcOM(w9TvXE0$F|eylvx0>9F5J{2V#39M;6G|7t)rBh1;#MEnF%
zxa-Y!avmZ0T;ou@uKv<wPuh1!bJRC3je{K~z0TT4q3gVI>S>oE3Ez#40ar0?TW5p(
zBeorwx^D2$z)5tyGEul)HsX!mz+1-;;otYY6^evS3Aadk9ltBq)CxCP3idgz_#ehj
z=j3@NU5b4DWR~fN=w2v4`ePaF;ZUj$SG;bSvar@kya%}h7%FM5YUfSc>!$4JRI1<j
zT0{{d%hto<BKF=qPQ`1z9(tGPcr_0UedF*KBQZz3pNbiAvfYEZit5?|ke6FbXLC3}
zri8g}$_aBaBq(NiKaZFrzg@a<6Fa6xJ+olS^ZUIdeU>TJpjqOi4*QG0&1XBHI@jie
zqXju?-z|Uhq>b$q{AoRF9*Ja%iKDpyQB4w(6jnKNUnDkmS1R@cqM|<hJBcT8eL81h
z)x<1SV|+_ylR;p%SS1ugyhn33_!|KOR$kJ<Ssm!o6e45KyOB+1`PjeF`e{JpZhag`
zX4(I37VX&8uKEi=sMaaMdPFU76r%0cwfGeB3o<ciladNsEIRwHJy+%FOtj4*uqiYW
zvprB+d)tY4WtIT(=Hf2cY%Cop&yqnZ*jm6)tkq!5Ji$G~)B01<c}&2P6&fWP`M!)Z
zj8ywDd1$3wjNB$p2=45L#C~~itYIkrtN^wS44BNi(Sts3IwA{quMRI&*{$<{e>f%`
zmQ=$s-~p?)?LO_-YN%U%;>uW$?R*}&X}E_}^UB9+AgvO%j<dS5)r+I^<vhQNh@4vH
zf0H<?$lOHXI#tPj)<r~W&OaclH{|2p$#`u`{)bhph!4&=MLB<c0vZ?42|kaCt_eqN
z1C(>_HD}$4DYiUA-pbD|k(7{G_1?2P%j-3`z?HBI2({Rjvupi<r>1}pXF;)byC9q2
zvdz%f>C`44gb$F2IVyqnUsY5DA@j@bA{p@He0{4!k$pd;&Z6xvbD*|CuOGrH0DW&_
z^&ik{KLu+}uS9DVKI;{lEdKR&$6W!NT}V_XAn~~C`_=1%AMj^{$ql%H1;O`&vb#3Q
z_ByF-RudvMoGu|H;6J)+SGlDdg1VfDqLJ$E$WzNyIH`A`cl)VT;vg<Uq8J4~<%4qt
zT^zc4ZDWPWi~JagLB7p=iog;`%@~7bS*tU@796;1`VXbZVr^zRk05_jn>ZJ+%;%e9
ztBu6T@dB$-k$23{uP8=p^nALxfu5p8#1R$Y$X_4Hw!a->Hl1$~DX|Z@gNQ{YK=2<N
zoiU(uXV<awcUnTKOWBovqSeO{8@LUCObm4Bp@8#)->D-yg4e$+RKh4<%Z-40=TvdQ
z#1VQ{!2hl333TU{sdafTM!AT>anO8O!!XWN0cBX^Ofq7%VEGtdatlG9jHi3lvwSZ%
z1ksTC+qDg&O!5jhnMGmHYO@B=td^pOD8pA*wl8bIE}|xtm!5|7$)@5jHThuYyRSlK
zd3SlEVSY%4*><I(<_^Y(Sc7bn<?uu2m|^0hQ)7C%&}rFF?qTPmURKz;g5T3dJuWdb
zBds6ABg-@c^zwo(vzr`J(w{7=WN-1d(N@{dzT02<1UE3Wz0}1qn!2AKJm*$)<_v$!
zBodm4_CvXALrdJ4e{??>^vU=IkbK=z(pMyt@w!{YE2lSq3)yUBH1lPj{gVOx-fR4O
zkUnj9BGD!sS$L(TKXZc!S=;$xClkHR5AD4A#}O8H-LNC7PgjH%soNE(7=pyH#FgMz
z$gfMG5AE&fvMx*PBq7w|)CUhr)n#>nZEd8i<I4Naj~gb5j-wTNCmpFasnxJ#E}(^%
z68>0^H$iue7%vk2rNj8tkG$RqT;JK*to$%w!Z>=lP2hk0GmR@${900f0>3Z+cFn9#
zZ^jAyWAQ83e8%v?10+L*Co;jY@=Y^|;%ZOp0&se>3|E2eSO33yfI3vKjtx-{^$BU-
z{3)9$ohqdfFG|28KHmGi!qnDnoR(w?a4pvzu0FVDtg&cNxc28J;D090W>rEXw&f6=
zS@*sG(AR{@TbrG!nU)}L=_NW=!IJ5N;+wCseSM-A9b&TAE~{pL=5Z#Wt2<<zGaEXX
zLGcfcDc?O$rSRZM-NHG~bvGK4C<qy77p0zl@_!_GcRZE<|NfgOr?L(y*&T;)pF_xY
zw2f1gdCoD<;e?Frz4ypExKAn}P6%}zdqnm)LX>QwqwJAg>gV(Q{dxcMd_BkYyq?$f
zxD)aj*FS+##PU1-wbyClm!1N!vFaD~$jwhAqYQxCQux$FU_uIE6YwcB6FJ<~nQA-M
z#N?m995==8aTpL5b?IXDl}(s@V9<Ls<FW+ZL(rTiEs|P3P9k7Luy-<BU$4BrY`QSl
z>zQ-ev>%^oghs@lGl3|!uaWTvDQ=dp{}tMUG$1}Y-$!=jGOGa*+j~ovt|Bbjb7V(8
z@$GLMfDR59f6c4J2)x*lQ2Jsgo<KCe1V`QHD1n#LfLL}=iY5~;GIHK2gK1o7lS*8n
zmG-hInJ)~AgKfRM+-(G@l~wc1;w^XL@csVKvf8a8GqPK#|1A+jPiDPrtTRrp+T!@r
zqQ(LwYm<2Cgd~!i|Blr>=ap{xWHf3xbOH*MK%%p|4KZQ~(G{afnyT@v9+-kH*B|=1
zTgf3+z3Te3H9AlA9YUYRk2MkyJ~s3KWU7~sFx)x#)6|#U?wT(m8j~3ZM1RT05QsI}
zyd?%8KP*R>NiB%&-%Yd!rRz|KG)Ufr6<_Fd9u~zeRj*WM$?V+=rcHAFvFmw=o_+Tm
z@vF%R+Xoj38h|#>-{ef5d~;VsEaA3vu&|Jt@hz<ttHWE3B1@MtTI7crq22ais5aUh
zc17<)(wCTHdi%Xvp_GGwrQjvS`c(NjZRg&2<pAa4pxwcsa?I4y*E8mjaL?y{yovA9
z8h_#+U;80~m|Diidt)E|0QFhRPhj|*`V_r{c4fD0{B!@+E=$wx|MkeLSeg<e)M{Qx
zGEa$c6N~5l?G7rTCvWg38XuOv7gog$bzQiGK1k-YJ2tmL10=1{4oS2n`OKOBbqbmD
zH;s5RmC=-QG*IFqX}-3cYz;o2-(Xm{ZuOFy%6~#rDJjU%=KgbRH+avO9DX*>pAK`)
zd(U!sW^miH{c0>jnP9oTZ>L&%j9jViw`~t~XpMnyW}26f^ivVvnANMFe7gg<J%V_>
ziKPAUaE#3X7Qf~<Nxo=(a6H8k9joom3MbvyEW%5M9+<h@zAME~MY;DkUlA@S^wc%L
z><;kW<;~p@7!%Ni!~p;8@L{-Q=<=0g9;mor^sGM6vsL|0CLbr5mXGmIV!_sFh>Mpa
z>EJ6wcnqehy=xsyk3y-}E9%{_%>Z(CekbOfuW9H5f7gcrOlEf;Fcb<6y{U}t#Gt1#
z?pSD^7BT)#x$)wOQj2O9GiFub56kx7S@!akN)Imoz+2ziBi^5N=@Va3EA?_7TSG};
zk-IZKmagruX}r$Z&M}We+3V`gsUOlQvfRR0y$3+kovo#-ISBI`rxU+Z1Fn}=t6$<I
zkG-T6>D>c;jtTcaA0g9ch>5A1qk%+4+_d+Y$l|m(wi8c}7qrk1p4mG8e`1R_3ZFm6
zD%6;F=6uA3&6rv@@MPajwz1k@CSH6uyu^y0uvo-Jal6mDaB~sw-*@M|bn^Dp#}PBC
z^MK0L#b%k{H|notjApi<?6ZiN6fV7ks+AWvfHf~QB(R-E2Z=C48PkS45oSmMH(^sG
z;4PUO|I~tcj-`Jyi~ejQT=8geC=1o90>G+NZ_w;0lmhy0euHmPH`Mm;n1|$Vvl<tv
zugAQ>h#%$mGysdvl~}|4oBvZQFRBC-?pYQA(fm1aydpXkix9v5&uLHEJcgdb$Z;*X
zbeAkFwn-d&!`!r=Tvc9CrnH$cD*r0TN6M}k0PKa0S9+k81a9Sbon;n75Qi2pc8;0A
ziOz(NLB$r@JoZD&0lfQ|c+m1tmi(v+Fhu+}#!4bi57CaCZ4I#(ix5tO<Szl$EH0x%
z>gAiKbX-@TbK6Ool6PMMcp1~?J07mr*^It=6SSum)spT6eeY{1J=VK&zc@bK^;$F_
z_Zz!w9w%E1gj(s@@mnE0d!UOn51P2i+sI(LAPiML0shtjf2m=U7slt8oUsw6r5{$G
zug@(6>2u@_z`0!b-)nj>PgP|Y1-TIy>%Cqlg`Dptakj+_(X?=2L(MeW4q{pNmj;oj
zchP+#h*oSVv*cVbdE1vqmqr~&1HN}IXuPs^R*aCzck#zOz(J|(&x_GMgHZPNOElvD
zWq5s_Disrh=Lrb<3bhs$!@5Ffid^^pL(>yXz<-OF^TG1paw&H}p9nnD%rzO)^sv1U
zrg8bMRql_ward#O=c(8%-&fM*vgY)^UW<1j*7ZBiSf6oqQ#;)&s3WygJ+z~EJAP-!
z59BKR8wdKPFJV!DRmGwB#>@5Mb_D(I^aB~wO)togApHcU^4N=vY~egJdM(P?uLh`g
z8nXkGWyZ~YU#OslRGbq&2XTICxc@jMgHfVI+tvqej#rd2XvA|536Ynvr22#hmZMp{
zF4(uT(hePupd0;HuL+oH&fe5=PXV{yz!#wl`+d3;cr``KQq73<>4un}{L1O~HA44s
zm#_r$w?<g~Tps!wZb;-Pm2<k<js}c@=bniFSBB{rhCluFAiCK0b8Nj^jKR<L*FjSH
z``y*ssm%7$exEcWY<_8mPaoy2rez?POK6p8_i}eB)8Jt$MswT@&C%T;GeQ1QqCOL8
zUVd0e?}&~Wjr}qP<?&}$^CG~8KK~k}G15`V!H4(3*&g|<b;#KOT{)&xLY2pSP}d7>
zpgrnfggUg{>Dkid#^SQqTgos;!;IgQbT#uiRH?>XB-c0<3oGZ(q-;3%IAnWRs&zub
zeRas$Q_VN<@evR<ul&TGp)jOV>Z8>Z-mgUdV&C7_qEb#PNNN|DI&YTI3(<xm)!gU&
z3sp5EA|W=(oK{sC^LTS9tP)vsxU2l5kSN_PJW3P0waU$L*O1d$vHZIHrl%!L%EAov
zn1bHgFQSrXU^Rpt1M;c!QTbpJ?U2e(D=?_lh*-z<hjWW~5Ic+C;&G_O`3v@G%<Ei#
zdY~>TEZ0bCZP!RC@lrXftWxFNXqtwcmJy5Rfu@Iy=|8UnysrBf=o`bVxkwk?C{rM=
zF;PX6L?V`aIW7>)bI06OQEjz5C_#|HY<t;%y+fbd;8gRDNAy?KfI@GqAw;<EyeB+(
zANBPlEX=fYY0+boE0vhrI1E#{XE|CaZZKqR0s~Lj>F(Q<+LB|Z`j9K<qyg3UIYQ!S
zVGepH{-dBMe>3u2AV{RsUYrrv$h;;?=U3RPllMFI2)*rfpi1c14lQ!hI?|&(5sYJZ
z!B8LRTK~0R9*nyev=~{QjCBy?8(M1=lEb!gi!evGL1Rcke`5j3%;NrC#ML+Lw6lp|
zzzRp(-+6Ywy3dpK7T?Q8navPz^Uf-~S#Z{P%?qP~eK%ax@=!T?M8&x<xKg>6Y6_BX
zBygT$OpT3Kmx@V`#7$X6-&sK(l5W%AD|ArL`xHLvfGXdauAi(F-^Md-Vwe8+@1O`8
zz2C>MsA{JW6Pv!#u?A1Pfz~xGg(a7fXrdJAC?LT&Dn-?L<UeAA$6OOj62?TQw9%nh
z%f)~7Ll-+(8zQhxU{Vgf1*9onASUm(cW<>P0E?Vd%B7CjF^^~l_AA9Ud3hkGt(Erc
znK%A=0_Pxc>J88p%2t2+CJOFFXgPLx^fqelIT?kmMN&d<n3|}M9kPW{q>V1nyHrwH
zAp4qIz^kss{mG{gj;_F$|4v(CI&B75<7j^bW^G-A?KJPUlg`qqjHckZSCkO(k$$-q
zEmWjw>C<;e*|eYI)bO7}r0#0?^-w1Jf&Nd0#Xvltz0b&=j-b<aLoL-Vp2g-1REdC%
zN^zj~LMoI(s_*@+C-PUpM};0#6F$P*PAlgn#_$4fKZ72~aMV4ahx^w|AA9voz+N<F
z5=(lBWB=Q#Fdo#=k1i}e-V~u)%qHSF0bV`RL5zR<S#l<Piu>H_Sp2`u6O{xLG1hf5
z)acE{@`7FmbLdtcGLK#6RC})r#ueTA6)A+CTzq&AybEgF6Do(!-YjO3a&Dg{j?xT&
zgC;s#ObxJ$hR<OVB>cHDjG$o{S*N{S{os?KXCWHJbWe-Bnnm$}+;tpTL`fx?8}(W;
z$bonFyutcx33#Mt2hSAk9<oxpzH^iCuij(sH)!K~t7~u}F5V7vTZT{n@Y|eWH6=up
zuiH>(6C#Qw$v`?F4i5CO=KXPsZFKWq&a#s)Fq;Vf)Nri?49hcSjx<7DZRb6t`8h&5
z@tFf)jI#Cxt!wVZ&$j*R2fNEPUQroDu6Y;;7IZvm0OMuCk=`^fOSS5sUPkvubDE1F
z0`*kUEe>kEgJV^t;-+)YtDp?t8b(?6d@AEf)kp4GuK0kV9~Q}6IcF`C&l+iWP;AhL
z(e<~)P*JZdUmSJuA0sOw#J3h=-aINGY8KP2-aURB9a!uu!IA1L8$y#gm2X#vz7YEb
znQHO8Mh5K`cT0Wo7v8Y|p<v8^;4IZ3{}h_M&viHftEGu+P(GAjyAaE`H+sexGh|>Y
z!UyF;=q4%I2R(Y4@C9U5%rXGqxR1`IfPBi@QQPWA1u5d_F;Kn`W`#(ZjRZYVz@3*H
zv%tE$rJ9MoLu=vG;@=*asGH+~LSVZjfP1#uehF_{Qu)W09zW0?;f_I+IDs?DPfu17
zGJoixfW@KD+R^*%{rgct7-RD#fpRHqfcGM1&ib3B=E3S`E%tzTnLK2mw))Q5(O2+P
zO1M<cv+(;nt8jw@8#`<W>mpUp`5o5dEwkktiD14l4QE(0V0)6lu#2E-+;|;Dd*aTB
zBhtsjKm)96r~2}L!hU9j!xo{>sE|*=qr1Ha_W26sS6Ro$p-1X}oh-+P!7Y{2kj}3C
zXOzzgUknZ#tqp;cj6DZ_A4D6!LkGKqrK7Ij$(Kg%hf`N+LD`D<Xq2;$qizE%)Xveb
z+x}1MWK6u=Ypcuy8G81d%F6V?)@l0pz3?wr=`$<YnohhAcw^GzF5+(|Ilynk&2_yp
zZ(psX-V>pg<65kth^Q;MHn;e7@a6mAaS}|!EVplWJa{7RfEOz$-;ni_pZ4zho?YQN
z@I-x2zrO-NhqR=7uBooia-?lc)_3xf_p<a$Z3Ow~q{nR+Eum%3j!UDNKGouicuV)E
znW4mk9$s)o1CU_znMA*n(Hvxmb{6~6EpKK0hPkV)ba$^sY^bM)88oL`uLp>@&r@SJ
z^Wlj^x$7Q+)$nxqTL3Sjq<gaj-GMb7=h4Lq!?8X#hg7x-2dtII2&Xm24~cgGLl^Z>
z&?oBh#;2{r?(}f!|AyA1vQV=3WU6zyMR?I4lnF_2raDj?DVIsf%d0oGfU9x@il0sP
zwTu6%ZJLDwtSY|?l=l<gJnk&(g*M{G)0eHj_I+h0)=dmJff3v4Di@xk7Ap{!OkT<$
zJ5JF_Nk(0A%DJDSQr;s4aF)`^&{NaiY$<<mEYa}p*xOP6EGoA*p^6~IsfzK|a1UYs
za>^f<3UCg6{r}<GKTZ_azd%3kpi$sH@G{(ZXYo8lWOI!Tgcsy}q0C9(4Z$;J0X-h_
zI;(Aer-U|@o_~nGyVLS-Cidfh>a!>G&{F5R#kt;ET(lI{D|<6=XA~s$lKA6@%!G2J
zy9Ur6(Aw2)=v}O$>mle<r&-5l0a^1BYdwHlfjINdj8KSL+ewJl><MS75k{nR542z=
z9=5UYsuCh{4bOurb9EeRO#vlorXWoTIBwSqJBIcRa7MOFf2-OeD04jaY6Gmvm+*Vb
z4SU!`Gzie&=Y5F&rvTZ{MEkQ$_Y@U%t7CAl+o4`Oga%s_Vr?rf$UmxzXz5*C+tIaq
zL;3d6>YFrT0J7!XXOy#>UDx~5-O%}?3L@g*`R&ZBuC0Y1#<#-P9eoA-Pnja4Bg<=R
z0c1z4b(JEGR|`i%FzK4T{tO<sU4IDD2)ip0&Qw?|`?f!JQpI_(dOIXkJY6?2JFY{H
zA9cHzcA5z#;Ky$Dzc7-pmR0Vby%AgZ9&rDYAqKZqUHUG&xVxy*khMPC7w>kZ?xC(o
z1Il^7+Mc-B@^nCSmtr&k`k&W%q)LN4+#QZe$>YMJie3OMy%aw=A7t-k`m_Ry8Ov<O
zY$;!@fq2}0apd9~bO(1m4{G-5m>^yRkrMj^Aot25Y67>MvDL`vV&8|Yg;aa`qk^d`
zGUPfQTTbnR;m?IXoiaI{0;oTk6|Jf?J_6?QvGsmt&z5L;=XH4{{eIc@QJs~vp_u6X
zsMRq_Hpl2t>>cMip7JWePb`5Ct#}U|{Ex0*We$3}-S8s5-17s-HVsPo)`!WNZ<?T~
zs;xOy?KJT)z{Od&^ot2O;lv-I*z8<9MwGrHhHBABY6BmmW%cN@FX~r@%irR9GvB6h
zuy$|xU!8EaVHm!+5a=gu^z5)`=a9|Xd`LTWt}Q35dadm^J(P0pW%z$5)*YH8g=6l0
zh}!?=K05Zl^b)g1cTlCjvqvu~&+?>OgAFB8XsU<Q4D5g_+!9UiZa4wb6djk?iu9b(
zv%73tlqEwcrVD=OJC(JegCdh#Y{`bct)P_`VfH0aM4RA5%EJ6|z}gZ03*XS}Op$dh
zqq3UTNbNJ~pS{m6$v?nU%bS6XK)PKjTpDRY)?3uT{p{bnfc2m-q!B4{^HlxOAx<o~
z<%(6%+I;8G-PI1|WzbLGZhMu94o5z2S~jsrKJ9ufUAp2OPB@X6^=wW7>ChHohJNVJ
z^5EUquPDyTdj3z{M<H@Ek!X4iy-%f-hbFjn3C=fa$Oo0t-hQO|tLhroRQjSR)g!)E
zx85$1{z=ht>l#*`seCaTQvwm`p&)g#9hyY$XVB#Kaw2by3dz#*#S}P}Z#mWlcb_oh
zyKliKa4)PS1(Zf__ELgUzMr7NN2_>W?|-vI*J{cm^(ExGtq}hPKVw8FK;O|1H_hfB
z@~OmKI;`c-;7amc+V(Ya<b}dr?X5+_@wnjH84cVs7j!1&c!Jg19)8kYZ{c{JyIfy0
zizRc@WUjnY^zH|LE3z6$K@>Oyl7*)J*u{$=Ch$utrD;S~QcyJ~81lA6vTj)~A1(a%
z6KPP;yCoAnrb((}1Hn6)%hv7-La0Z&qP7GqVYHsqG)5fTgcD26e5CKXXD!CFZrC|e
z8#D-=_$h~u!}~Z64)QWu20N#XzTx?qRfarNMQ`H{WqM{H@t<1~Cg|&ybP-TD0V{Mt
z)9>hsDEUx|kpm9;;X|PjK8?iqmjL9cpE8KzSWZT~-ykj~VXkKk^i`;UqTvfgzbw+1
zwgjY+;XsEO;vj5vG`)!0PHV4TDc4|j$-1F=-809PbouCEol7<FF&$px<Op4F<;8|H
z*L+Wq`MP;*G*_^@XmDf#<lI|n%BN+#wOFuj&=7baU<&0zi}3oLTI2)!4t12UFRQ18
z9p!#eEl0f4Z!IdwxHJ+SogvWmaYxz<>q8h?`E^iZDlsc->EVq0dOkc)TRT9`#T3cv
zM7F->E+w=X9u1cO;k8aZN&8REYj7m~rk<P<e{k48wcCC;*ZqA?JOdt7*&aM<v)+%j
zAE(}IT1okCXQm}kzJJ{Rd{~5ox4&M?m;-PBe)pOep7e_<z~N&_w3AYCl5#wzo@dG@
zd2fgL2`VYJP!EI=k>7^jXRkHlp#5gx_uipk$i;FwalXg6i^kxADe}OHJp4Qn{jf83
zwT(Gds(}I*odV}sf3$5?QTUU-U`1|+c?l|63D!M9(|cCz>u+3)_3j1NlnJqx7q)s#
zadY?3kybyKK8g({oGavQOrav+Nf;D4?1Ogh>{i?dFtv|X@M-k0i|O{_sg@hm$)-k?
zc-^r|!M5XN?D1&OZ-1yriAKyGcZtUP@u1u2wAGzccewwoa+fgDc%0qi1<F%jML?FM
z6rZat=Wj<cd?uqQt<V!92#6@Xs{)N2^Kj^n70;O+@^&;b{~xSmy@=SlM#NW!(|wEa
zIubP%zUVRR1kXW-HBc{;zcuF4?1JkIyo<NPm9_4k=Q}Zv50{A-6^`}RB~NJnY_FGN
z7`1)-uKveC^-?;6FVKzo)6!N3vovy5KP44#sn)*xQq7bix79x=Ll(U%s`Lfi$$7S%
z|L3tO-wnAlbQ93*vM}fcIk7%TqF9%W-un&ek3pv^?_Nq{43~Y5Aua?(NwKcON*LUS
z;|%BpY_-QR)4%_ek<0B=@hINA?%miZ;a`B%(ZX6g%g<I?3V3Fg+ZdPp;9IsWZ5wvr
zTDyJCyF`EGW!CxV9uK<7iOV?4xAa9LBcBp*q?(0hXBZ@(vj2iyxNoz|z3o?Ahw2Tr
zQ*(&C#r#m%C({*|Tox%AG&w{OnE;XdwDXhsl<RK4{pmf>frIXw!6-XfWMSzcHM?Hk
zkv?+L+-eG-yKlZBhL}S?9t+5x1fF97nXkg*euJEFxhRh9kye=OH+`zR*ej@5;EZTJ
zm+}1<x^8)d!K4ePyz(w5Cq+kyCe3%=yVfGPVSG4R+^$u)_TD?ao|q%M*bfVOG5hyN
zY*V9gjP{YL=BXANb5wvf?Fm!3Z#X+5aWkx)uJ3GWjT_wx%8CKm0<qvjQQopOBeGMV
z*W!-;`FCwwS~lpf77?0lsqo*1DWuCc^Z%al!gu5`-l?%8;={vz{~0Y=iun-EKhzo{
zhG|rao4o<1_JSsF2Cv;&kV46kuT5`=J@JGH-VFM47E#D={#sTxGmp9ryA0gM3R@W5
zq+g)U^58_O*%atO@617=L#kqBR1u)LeqhtTz3Ac1;v65Igz3wGQ+Njd1Lz_6wY+yT
zy(D7KPdb`-`A^8Ud(GKyLu+MLw#GC4V8;cEg^&rFv)EnKFzbEn;mofVe!s^7iS*3Z
zQYdp#@Uiy(u|g_B_rrC9QF9oayzO|BNuy`r)&oY-O7D~?7{(-ks-^)Sz=2Zcs5i3P
z-{@W#PzL;+%6OChPEP@pwXg{2{qQ{Q>@;qqZw{Z;Y&jZU&a!{9l8&ZpTA|Ue%T)am
ztWh;6Q|ZhpW;rm-vW}xizIKWBUna4pnxz?5J3@3HC-JOPWymE!?E4>)-Uq-NcYNK*
z?soUdLp=&y?>!9bDxU_Qm#b>GrGMN`QwkzEaJ-z$ocL`Y?3_?7{&#F655sJX8+q)d
z6!f<Xo-=#Klc}@y>Dn8`cL058kaQpW%u}NTIUuC<#oXfcyM3-|3fxb%^(Hz|U@(8V
z?UAx6KU7wrEI(z~qE5hNU+%pCYQKQex5E6>gHNKUj&b7+LV=)AX^dT{{SnDCVm9LU
zP-<dGsXg}Ze_egdgscoyY0g(z+?A;$lRs`tbKk$qf|Oe`F#~48I1d@6@>w1Sk?IRg
z7O7cJ-WF&L=TV4`@x+5V#fp|d)EZ>j7q-@xP(5i=gqGS!wlO)ZWlAE}wON7ppW6PG
z&`Tg?4tz1)Ih@bWRJ5F97kRy2K#WVm3=x?uvOa;r()9iG2)Rl-V=#a8R|{mh1cuGr
z9wP|f9o(d>&U3fF487}k-(1aQ-)4N~s<LTMXYtjto=yLh=Zmz-shU|&W;#hJC;~v7
zd4O5q3jA?6z4fQyJhln==;tudRf5d9?I&XD+IBko_)L<_g6<O?RVpjv8a=BhsQ1Q=
z`hdXvFA?RG@otiGP%iM;!XNq?I8#19kEeGn4?<yQ5&W4Hc3F*O4`yES+>O!~T=Wu6
zH!;2%yckHcOO?rXDK=~5^>wv&zNaKySwyolKmCC{=WjV9p0XKZP?SBoVX5kL{lBy&
ziKJ0;w5ydN_GHD6;S#!i)wA1<J>3V?{bI_;Rqj|h@4{|%EV+IqUu7%nG`(|Q@(q9m
zq3`)o8kKe=0o1RBfA6v}7xceblk1vm?!vtt>MZO**!ZuOy@u&K5x}BTK%m`tro+b{
z7lPmSLMMjaSGLnpGkOVxk3?y}7AqVOR5^B+44>Y>Lj_R(%7H7<BIaOvvxLj2JSU>!
z3#e=Yesd*@SiVhi7D;jD&PmBdTe{;H9nhUk>~spl6bpLz*O}1K9pGM05!KmPKpZ_C
zo5^HW|Ccnm0r?6>V}7OGQlVEMu1GvU{V?}kvm-OANX)xIFX{%rFs6!>?t|veNbhp#
z_!G!rjDJrTW2gJ!a}@9v>AOfvA#^Y*$_&bZl4b(-;waQ&acL-LmWQC@>|;i-K6$m8
z#RapTjX@2=U(qV(qaR!9-#WqRJ<BelV+PuYD2))oLeMp~zSJ)M)0ScR?B_Jol22(2
zZxWH`GZ+E*{)#b(SY*!$L(}V6`OO!~(2<|j^%{9hifMwgFF8jT73@{vXUYW{zeCTG
z;QB^nPl%0+>Sa+Mr#t4!j{e0Mx3cj^UKetdt7bhbX%mXizJ2Nv&;eh}^3V{8gK-~y
zVby27AY8FvR5gB8_1NAcwc-*{8EBhy|1NI^Q{qiapETbm<_p;?dSm3(kG|*xQtxWV
z=cv^U(GUk+V+_cwvXPu6j63N}ztmV&&?~<;4=!#D8eSu2(O+^d8)CMvFH;2y6unU=
zvJsv3l75dI@8d2_o<>_(y+lgsonBuYV>1KGq_9fEKR_EHzHWItb3THk(pp>0bbM0m
zu_B&%QSa7Lg4}$Sva`s2_zmz*9EQ0)bj<eedc%8yP}OM6wmzYGOEU8tS1SBf1Bbcw
zDHm+>-gn*6YT%ZnX@I?|6K~qmV$=6Lib{<!7Wa$MCpb|5B5rV=JIaswFzg^^AdFSy
zaQ7VeHqH0BkRH14f+gJ1sWRn~TOhm3p4=CM6p_eYXyn&pZZ)fqs3u;q%c4)x`n0mG
zOY-1%Wa!*lms;wBOcN)M{ez8L0%x5EPb%f3TIs)_(T`xY`1tS2M&p7N;fIaxaYV<B
zFqYCbiACrAC<J{hS|^^hdRqi4lP*C&2C}7hodq#ob<L9O`>&j#_Y1XRd<~eXidv?|
zbTITK&DW?^6d~Kbrd?&tyRW`Utk`8*_7t<+8gAtN{qtKe34R&zwc{o|*G0AFf;lQH
z5k2sU#m_-1-(^%#IL+o5b)t8LMh*KLBk@bEF)0*8*$DpV9s+`t-MJD!G_ZO!B>@yd
zy(}D2)!)4_x%9)YCBrxA*A%{-`4so@2<jE!cwkH%L)+lXHS2>wi|yi$(QeX`9^pg6
zz<ukK(I3#-QPNnU?(*sJs8urD42((xtZlIp#}{E<Jg2V0L+fj%-a<X;Zy`IPj#DO&
z);G%y86?i+qdnjOC>pCWVe>i~^~h1F(#}JZDT#kMZwghmiXlED&m)%J%L~r784r1n
z-HW|F7&Fl5*Cx4P>ddW2Uol6u37Jnz%Z3)w?m`z{8kmut^4kZ8XxwME@Qmou)!j^Z
zf1^M)BCC2j-t;M*SNr}wQ!txN<dx$C9BMpn1V29vO8(r?*{=qoWIZ3ZN3_5%;(CjK
zDZg23@&L!@dRugX-r0B(Ifx1%^w6qX{jFdtgS$p3N4#Ntrb?(}@Wa+dp({QsZsW>V
z#^;GN9&t2_%Rb9`?^9+kLbNXklR=!<yNS+ZXhqfiP$;9v>r8K^Nuwv9X!1p#rmtSh
zJdSp-%?48b^~#SWf9WDCyficMAU-CJEs-h526>h3L9;tWq4I1Hy^xF6r(l#lW8Qlc
zz1DV|<S$5K2luiQERR#Bj${k@d43y@kVdb|p#Hk_OrS1Sq1p~K^zV&6dQ9x0iH~N|
zfan@n<E(=0pCOv)y0$!R&>Y6sT**RXDFSYe{=!@SW&cot-W*fhS?%2lo4}%9+!bx`
z_$h^=Q-Szhr5#2eV{2eE(_H}k`*hP_s+UHvL5HXticn`OTtA&7F&e*ltE%t!k}R?s
zWUs^c*bziyur9Vk!dsP_eWgvWj%6zwIT-&@vLklGjy_5boS0FZ{J|OcW9yL-Z`bBc
ztHKMSck1Em-_yF{GUVmuV6o!5KQGX`Z(XU4zBC}fuVVQwW0EVO8+PNac*@-jUWy&z
zTg~2q`>uP_Z~J#uU#q`*gyaOO{AJGh9ay^lPCbwDGCbgx$0O`~qx#&+nlpu=7or}a
z9Hh@Ku<$S0fGug18wDH`^pae0Z-6sDR%gZ5y#3dT<tj3E@$N6{>8R54XUbQ4CDfW$
z^c?Db?DPbrr?2|^##DcAfE@$yEOzOR^Bp78dvo|J(r5$WG%9lb3G@5}%%)8nKvbB5
zXrdYPwlYC%IaDE~le|P<Bm7HF|K!0roaSq<SXIyf3)~!(AK%~~VNV*pcIiuE2_ogm
zf3k?<VAlT&CY5gk#smHxk|t!rc~g{=WAKS_cLBZ$l6T#WF7niEPi{VAumOgZ$995$
z2Ib*x_FEe|U|Wp8wFL)zF3)lsXmB{V^>75Wav_tVoT5X}At&ZM+s6C%NWwc$?c%Sv
zj#Jl$KNGP~8AXliK);F@Fc9bUeaiis^Bru+7@fuvt6jvY4*ZAZ5WZ+AQ$7Elcu?Jb
z6aA!jC`Vhol-{5@{3Heh(0mfX^D5q|ZKv?Q0k@_%+#jRoh70%V*M`|OFt^|G5_`^+
zW1Z{d101rHDjUxy0Bt%=0uKUm)qX?IB1}MLVXaH?s(*HM4Hi(q317nSOWeb=5)RL?
z&nCn8++67X&HDw5sDD~Xw(oi}UjgNaE1z!Ci;~*~P;JlOZvTBx<a&pohiZ}3Dg|pf
zV!`854US9Ym==*-H0+PPhx2T@Ey8ymd}@eB`%n&P<_?01%X$U$fTZ-#S$8uTbh5pn
z3|)a2&BgN}*?`NIzBS-&5}ijWLv*bN8a?O@xYa7Cd06>lU>-K723!XA3a%0$zl20i
zVEd&^!P-hYYvKFWf8RCkYizu^nYlAEmR8XaeNKeMy7I2NhCJ~4jNy93Xnfg%)>t&r
z-)_eJ#IYOE47>&P+@2rq;Ex5x@BAfv=Ms4}$}^}i?7r4pfOx))a{5C42R|<O<kD3P
zW^0VQP3f4J;{;Gqd%>9V1KKy(n&|1i=hOZUdAKI`Ze729WzL1WenoS1pguzneW*yx
z;+sov14}--^yo<DPCec)l5Ge(pCk1ocQ|uLEfro^TmdXb#v4Mw!cOQ534@ar-+6Ah
zU=Ll;9<SvpD=R3yL$TW8x7KI>awaO=n%-0cXmA6BOD9-z@A0*Hedo>J)FnDHEP#4q
zM?a(n?-Z1uIM!!`F0XxJ1gXtfNo6z`)nsRaOwI>3%?BptroVneMZ!?1&i~2)&tY>N
z+3LOdJ<h}~qW`1#WE|8O>oe+MfRke~KuiQ-ao@9FaLSC5yo;Ou<TwO{?7ZP{6slxV
zKuef_Mi@{O{I;|j1soYP30%A(!`D>teSPko_v|h2i#RLAi4DhLN<W|}jSTdqAs1IE
zqUgixSxfu(&y(OG8gq^)fVDk=W@r7@#QLwKBFCraX*hN>ut&hM4|~{iA2+?<O1l-S
zJ;$EoirYFkMQgusK_OP!wvPajlcxV!5%KWSVcHf>@={GRfqd&FX*lL^Cc4y(t92Ic
zmw;G1{=9YFzbB?k6D+V@qS&oLl5RH6Flr#47pt#!Jyv^iO#VMhj#j^`HKm3wSv*1i
zjaz}7G6}K})?4c}>ocJmFE1~&DFydnro*frLAjiA{C@;F#NXpTYA-dhj`{c(lnIx6
zK<r5x6~}-Ll4(G68?0~RKV<4z_BJxiBVDVv(9;28CzVIrzM3a0Y`Giy?~}p<DjXAk
zZVzv7J{5L{*9tqni#L<AuznQcoNF=uAn>UE4prJ+a`&QjXr~NnH1maTY&>U5)aN+3
z<;icoFRHx^v8F9d4mXX#CJEkDMC^7tQc|B+DJV=T`c7#o`rCp&`O7>vK>zd#U?@2c
zk(YN~nuTq<yyHxjv8Bo^a?+u@cz&^UB(crj4-H-ytT~%U1(YRx#Q#lQIrefFzXjg7
zzP&{9I^bR+83nOfm@gzWR!nYYNgdDz?*P^C-yX~14d>wE7X|c(e)Z1Sl>rC4aR9o%
zA>9_j9N@y=nw%1e$a#diYkNE)wAO${bwGIm-BE`e-vHY-;F_}y9vNCIg2#L4e@epG
znr;2@c!TUdc`Nc2+fsxy1cQYNQ5X+JkK>)#h%vxqk8&l@xrJ}NF;gc%j6sS0zj0B{
z{L8e^JDedJ%xgG37mPFdS1)Zp8uPmsy6CZLtoifYY4S9HH<OooQ>sj?(<Q+-_uNK%
z{MrfwBi3^fQ_HmNJ<!GCf=maryD)c8^W9}(3Eo=+I)^aJwMC}t?;75XoX<@_G{Q9{
zBa~UK0r8atz`Dt5AGTjMxipT$=v!t2yQa^9;{M|kJxkq+F{tq-oWe(lm?z&2$p^e`
zF<_TWLQV%9{_S@C<U!skWP57^7<h^1y8qu3*%Y~d1+<Jk{Nf20U1ti@YbCq)uT#1*
zAxjrT>3$tQ9-k?fjdsJRX~=6xBTkraLGpQI<htt+<?0j4LB=3ao=M}9`_+1J%aDH?
zeu8RWZaZgK_OQ8NDw0N3#p&`K-f+vhX`4q`HcN%X!&mKQyUmWTcjaiv&>jyS%!aP0
zL@`|e^=EqMck1Y$x9v^akDReWvq}$+y8r8dVsdHQ>Um+#s(Cr1x~i=6sX+XbYL<G%
zdyTf1pac3?9@0IWKBrn1uwz9QC#p}@LffI&ur$QLUrR8<SF!`@HT&7)XYMilQ<0XY
zAWU{511tw*&3Hq3PWyR{1^LybS!M}h=3s*(Nuyt?ZRvB7kS8y3^15cONvH=meaK37
zM-kRfyhLm8@db!agU}oyU3q>%VLUUNv7~v-U>w31<|Dp5qy~n$@Y4-Lzw9>DKG7zZ
zqN|BcJ*VVma=Fi3S_g=WEz8`@<MQ~vr^WS~^E_nXEk2+KaJoV4dFw2;OtPy>CPHi>
zZ`)(Fy?SEZ&9Pv}q<jmjFb>B{{(WaLRKV4bB>_#&M~C=jIk&aW!&dZ8siV$lyaCQX
zECznevgQ;3W8_4y`7WM|=C2T#xXG9#rUNSEL(<!Ab`doV=qtp{LE`7wokE_#@0srb
zSrguO^Xnlg$oW_@kLo?4Bm_2dTgppp1jw?ftV5PvS~t}R#<;fAqzi}am*f$0^dHd2
zy9J`v`1su}m_5;)fYo1U-cz!Lw3^4Wzv4kR(S2uzvH<_Ku9GCn!w7$o(654)G^AFg
zm#zu?0&ZbE);pjm(OtQ+G6&~+?~r6S79}6Dt)m;SSY0|xgAxp}TQMoA^PaY9J%*DT
zOx4?=^kdZo%GU_?Sa13g+U)z>(b$(?t>2!AYj#RP=Ess#3f-To>2HdaB2(nxs46>W
z*!oXx+@@nD2mu!b`e=UDFtx6#*Ag3MSXaH6{r|?_Y2`c>?}V~oaU4QwDq&ACHt0RE
za(SD!uGC*Ys@RuF+PUYJUA=nh3oLUSo%O2W!Su4xG3>Elxix(SJ`=W(M*-+n7TD^|
z#gZnegC8rQ8>(toXfYv%#WykF6K8s}b?D0%lN%5>XZ|P|Azt#@D@gL>18e|uT(f6K
zly&{2ZoOa^KT1H|x$e}cAtv_YM2vUNoWl6+Ye0xo4+S0!b<;MzdFHQJ@PyfWK4Yo1
zeG7pPv`KcmI{t3xPmir>-7@x^5At6k9ooSVNIi}<R{Jh-%<O@5CfD5h{s?@TWNNGI
z+BX?<&zs?FmPvdgoz0106jLg>C&psFBs)uOYijU%+dxXu2Rl0KJzD@05f0?Z9c-|X
zD0{jntub{^uEJNB&z98YM@M8Q)rv(Vm|wXOas4&hT*PIGZ-%ws3^DOajw~IWklOj&
zq)yh`7kGKkTU@)O6v4;mn(e@SolD@%K(OkemBc@F|GlQYz6OQ89F@5+#>QsO@0@>_
zp?jjzM^T)?dz>jMn1{C=v(Qc6J%>Bq(`RGgxs*jq`p2@`sL~am>nnu$TPs>Py$?b2
zVOeiaq7?OdO=*=ssC!-9G82wc=I98<-3UtRMx8uJv{Vm2=Q+ABl>>2SNCpW43i%m*
z@cFGDS{7F3awlFasa3bvih;}cE5Jtq0=tdlG?z>T$x+IY^~;>9&Fj}o&m)OpdcX?M
zC5>TzTqhvS4A@`gLG2C=owo7`=0fidq4y`1q8Kix=)A^4>=#c%^$*<?eL5$7oOBym
zNI$68JsqFMehjN})@EGH$qeTcc~G)YI{H>#YfV*)^~<xAOs1Y9fXRN0nV!GRGy!7<
z++zny-A{w2F+mx?)AmOz*w+scl5VYCXTd6NeL#I_y>WQ(EIPUKP6V;r1T9)&MnBj-
z*V%iZ+h(}D%O+2jM`Q}h8QpgYO%{;}HhqLlu^`w(8X0R`SMmNCcqw7w7HVHeZ`Wyz
zPlZwT9%5cRNO(sTQ{5fmx^rzPHotuMHS3A;E}e_YxlGdRj{I+L%~1m&B7&Q<sGa0#
zQu_xl*x2{a%{iW$Wu3IrGxQP``ur-jQEbpK1}-%^tDwP|DoS+bQWvY9^V*;EqMq%(
z<hdvrTzl2$e!G4A^(#zD;PZd~cDrf)BSR~@I&xeMg)ku4Cd6H8Z2yga5s*0{-bza%
zll4x6ksZ{=aD03hwYKe4g@^NkyQ=iBeiCNP+p1G<e>?cX?05Pl&mP?zn~~TKBh2tH
ztPCRJfM~dnwrP9>2_kwqEuQdfFqer>?1k3pUDKOVbuQi(Y9S>;QolWiuWhtYEAx80
zBCfCO15rT|Pkr~dzi6ve^(MG_Yc0;(2M1X!t>Sv8<<*a<Py`Y4YKI$vlb16Sa=)h~
z@n(c$L63Ji{FTV^Hgu4a4eUxefjb>J%0_*0b?seMC2g-inVq!B?*@8N=q>V*0p8O0
zJbSWHEu{lj-Wq9_w%4w>G2sTV$h*p10?qARWImZJGE1LGiN%t((TSZ%RlN_c<CRiT
znY5}~RE>VBb5c80`XgRSJV>X_hRaEp5)ky*@x{hsplWNeiBA?<|8O5G!bw(p&k{hj
zi~f#p2t9#|B5rJV3kF-f74`oxxh8xCR`TzrZF;O83tBKXvqpQ(T1~$n%0bY@QzsE^
zB(KeA7W5fIl<hI*9*QyMz4wn-@WF<g+3Bwhf2>3zDE*7v74qJ3^v~;FSzn-G4Pdq}
z;tGJBaFkdE9@?8M7L%medY?a&wq5)JoeT|qkxfke6M?xLLz$etsUwbUa8>Pm?ZJ$n
zk$1tp6lm^lk<UM5bIUT60}ZVDdA6uhFNL!Va=aXi8#G%V-GsLpe#IU(+9eiy(ALf=
zOd1FLGP?mUaSo#gFUef?_WG_u1=Zj8Hca6orl=~jk!2Lt3DEQdZKB^}D2iSqY$+GP
zi00N`rO_=s<VHdp3rYvdyTeB_b(jG-?)CJXEi_K(^W2Hk1Tg^a#9#R|+C+O&T0$|C
zea2YgA%Y)F&Af}giFx_-cC0oFZv1|rJ(G;KPiUxJtEzOPf?rkRs*O}nM9E-?Ts3_8
zmp`(v4f$!bD&q{n{e$E=%romMyKr?&@m1B8)1|A^G7H?w87{%aeXF)c{P!=&&@Wa3
zT7j*$m@u?0#-mj`gOy)I<|U%53yja%rkq~qQ^h<q9kh7O`-CB2_3Jf%M)C8UD#esG
zLKaw@&od~;?Ub?6Qfd4FxJ;=30;PQ2iL~z(T*A+)0@K22Kd6)~OavSf9pox%LBRAv
zM9`1TlP}uF*FA~ttz96^Q91A0_;(%o#P-U2svhC)pEEIb>)Y6ltFE$x+ao?IBW&N|
zdOb0R*Kn?T#-fC`zdbxKJf68t|L!JtzGK|GMoeE#YsqHe(X@@Xkt)NXUIcH>^${vL
za%Lw3m4{;H8dPLK@r1T#A83!a-2QeXi=sJv!!=2I(Fvzf0}4I+T%tT$PO9*OxB;aV
zAg$__I|g=~=gG>q8@BuUMC;JenGKyRI+L-))+1dP-+Q*Y5d+{cLYZyip(r0o!m3~G
z%9ab=oQF>nQ=k>M`h3ZT|N2<-Y4%+m>2n)?{OsVJa7<R_FP>*@7yZ$0uM@kdo#~i9
zy7%(Wn}ihAQj*ruij*=#!|{V*7Zx;;WV+baJK_Or*=p}2JXqP_f8JD8DawdE01=N>
z#rR|&KM)-G4^)1vhS8&av^WeD&vZIRl9qm|d{2GWmIeKb!F`tA&Rp&`K(dR_yGsu%
z-)8vtd4InW+v1~JwL2@CPJ)}Ge+|PJ=&susQdK*3GH}x?jaPNnc3tY{XyqTRy?Vl$
zdFPmLUC?tI-AaoB2z^!sF_h-Aur(vB8+{v_lbKW1NqwFL%FE1F9A7lur7s>?DlzaD
z4PcHEU(P!XFv;phH^%nmHCoBv*BZoFbC3+n<;kOhJ|ai_le%2;@$BB9y0CDQ-;Eez
zdDe!zSkAv$B#|rmi49_2!~Bg(DG3S0uC2RCWX9CB2a2ETB!1hJKT_HO6sNfn9nc)V
z4wm~9+(7U-4Z^}#AvM+SR`RDb&<FQ4jc9jYQ0{0sXB~^eOlAZVV9f<&evdLZtgQTx
z{Pc0wv$oEZ|KT7s%IFl<9$Bb>#D<E<G9g(p5>|I@*wFlBmAPSkv@;?dy)P%X*aIyZ
zG`13}pc1-8)34PvU(fw>2ZZW`!Hp|}3=Y<`Ffn#PH}F_zX<Td9oTsJj$~QRoJM+fI
z(mCqON*n))7Fq?MNESxQG<{xRkOunnj^<&O4x3mdc=RgwA7_3Ma69b<e4dnbkpDv)
zKPA>MBY*0VHiyy(&*f&ujc7c-?3|Hw@m2I|IIva6WQ~}4AGitPrK}e(o{q${Qdmo$
zWN*d`#hMI75M82-?2juNC^^P;Nr+{>W9eD?{(F|CGfsL#l@`t(fh>Dan^|piFplpj
z$i%22(I;`aHGLry&JU}aL%w~>+97ggEPG@5N9KkXzsOTnX^GdQh(SI#F(CowcDK>{
znBYnI-znf!NjyWP6a|Q=V(z2|FL)@nGTzPLYZc?#koOuyMrwa?KrnRu($CXEX?M!6
z9sG$ADQLXfXZ&JvCRbSx8g3|c9@%yU0Gm~ZxIyK!cx>Z-DFpqy2I11Z??4Hn&Q-QS
zFMIos?ct-0#E<KFUq$b=IXZm*-BUi(_e=wHbBwPNeAw?{aP5vQh97)@&653&HP8Gw
zd96>wcwoiZ=h{IJpT3VB<r|{PaWNL}dq8df$YSj0n=b^azm>trBN7c;?H%qC%KWNU
zNHyP8N~^0@N>bbs#05UWJK<#{aUJ@0jdq``Hy+oisTtwFm=7Jmhi{dQFCFxi9mvKe
z+p#_S68;yLz4HC=v7WHRi6UM{sSk$Ab4I6IhiX8vN*3y5@DbsYnM12RK;NBHmwD^W
zYLFV%JRDGW{F*1oC*|$ggJ8`x-IVTu{)b*w1r~@Ao|s?PR=%}1d<V6^TcTCxV8bMr
zg%K;(kL>1W5}qAR<x4y;yk|*%=Sm=TkG>WJ8y`8|=lXpfgx9OiwRuSLCG2Zx1jsT2
z>q+@4rO(?rR_*D!p%eIjy_TWX*NUH`I~mwHm|x=`!RGc;OQFI`IOorE=?ib*F_aH_
zedwVWE6!({?-QO?J|6m~mT7;_8O|xBqLblVuY0>gVOpCEipl#`Y&(61fY}a^Qbyal
zf_mFAJH_|nIMPy6gwiqBVZ#FLR=e|5@l$AljHbHphB>Ft+_n9f2;uW#0&UJZfw5O-
zgyZk~pFc;w1n_4SOuu~jQe+0)+jZ>@6>}v`iMyHdXcu&KADt3#Iwzh*DtWGU6PE%n
zmv2$pX{P?sFFo6jPdQ;q8jOBRNPNPBYJ8k^KpNdIZEx)RTtS(=uuDs5JNcahhs!-y
z(w*>^oxP<QWbL8;{ipZvj1use5jnkGy3#RYI6gVx*LBR{lF1UbA?RSMO7otF@co~q
zUwJi7y)i+kn4YrY5q8>1*X9^3t@>2qvtxZ{;R1>2igcO><P)u+iN#$3XfcF1<MjGH
z=G(^7Y;++xdB=BwS~+KBX6EL<?BOJ+bP@4e5V%S#tSd0gNsvprN`WsBmy~lONjC8h
z;<5apTrw^xywp~ktUbJLtuxa?jFl;;BO>kBL=A%;I5MOa0Liu1ImN+sQ&(HZdwn7{
zVCr`d6Xoc4v*Jbe_2##)f9Q-XNr*1mmpWAT#h<>-kchO37-|kmA$<el!ALT~_kN06
zn_)t`)t`2%;OXckAB*Lsp=w6mkCg0+N`rqNEuct><BFcwo03G<@~4?whjAJ)(d*zH
zYKD6qhdRAznxq@w2>(U1)O^pP-zvg%e^G$jI3uN<5m|Y0`N=KxktO<Q0u~;`*=C4*
z-@sIYkBori6iUy|-$4EQ^@S#IwLJYV)fXwN9R1*ecDD=Rp-pZ^{0-L=2|6cFB6-~7
z;?WtKJ?$GAyeE;mQp6AOch6pq$_P*6PkWM)))ZcFwlo;n^?mWf(*E7fT1QCD-a)_W
z&Jk<#%bmA78kHRC{9xUY>bWDhr+>6Nq_CVt?<qQ$0;gw#MJI5ba2v|O$WX@XxBgY_
zo|wDnP9o;kgF`8kKQ&6CpRfen+8f6%`*(l`*f{gc=!xD7f9)SIn4|Amx}if`tTbZc
z7M-_`$o>_qAh>E{j^AOg%R;XpHx>C>JSIhb{JU|F6xLTfNB@(lxrv$M712Z>>R8^W
zt`wM|Kj>ZN2HP$fOFKxp?swOK4XjSZkE_1_5e8G|Zl-{D(Oln*qy_!HzRVouAAa`l
z5%z=p+ZjW4`s@VvXP0;<?Ux2Uhd;Iy$fK5Xjw?@tF*@kg3qFf8z3|i%>pHv3X*-zt
zfO?-+DIh~5<_nfC6b7n`V+fA;9;gQ-qY$(M=#psCABVA6CRAH%CU_dB6iSz5vd6~O
zJZTWZGj@O6`tE=%Z)hLJ#G0b_jL_&kwlE3_jIm)ZO5(#U*%aGQ{ybXz>wpa+VupCD
zPa^_DU!)xKipU2KfwPTHSygw%Bz#O)-V-NR*<{Y+Bw*(~<K62v9-g10btj#B!Vo@%
z!!>AcT;OXn<dDD+DnRqx3cxpLE*+wG`y<|W(CjvvRpw&~m_2nkpGIi5U$DdU%An4o
zpX%N}ZHlY@Ip%Ta;<Ws@#hs~Ssz)ACZA+effn1nc&y#}+Ve4wUft#D)j-BUr*<q`%
zYLEBrTIz?7VuL;;aN5B;DL;Yo7eA;wLxv%h?UgHT;!GuW@EBsKc=~@1c0#*{f+z84
z`7ibbT;EUJUreO?E34=Q(>%1zZUoHQBHcs3O8Jl-#!k%}R<Sosj$so<NN^GJ@nmhx
zkRa&p_ynGc@2ULk+)gll<`Z=7d-fHP>im?=JSjjM`p5JFcyt414_<?X`{FQ4s2<5Q
z=LnUt0PV_J4KjXA@V(b7xDQ#(LVu7pu#TpOzMNAC1rQ}|Bs(1=<!#)YRH^@20e{r1
z;7a3W+>*ljT}{gd|K`Gkx)p;?hLc)FW49NtdtI4Dtc!tK%fBme+2_2~TYIZuQj52F
z-25L!fWhGAYPSR%I`Bs6&0le9V!Ka~Tl(tpL=$J>2No$$a}eAJ-=EfqEby=6lHX~%
z8TbJ^7d?8t0-l2<mA7AHZ*&qt4C_e7W&ZVHxqLiUakJyGN+Ex90sqRXEMV=$&y9kf
zKK+73lyDMSVp9GN8NP<+lTgAVhPz;to;9Yo3l>Dg`g5u0!mX1xvf#XIjZR-k26-$J
z<*nJ26Tss>`43yJZ-pG6POHyDn=R*vIYg78&t}KZlGVIYF7OfZPnMs<A+*aF{YxWT
z|0Nrd4G=YNlC_r-Hpg;5P<B3%3aJ;sLRQRfs8#YL)W*>|mWcTuwjr29;+y%K^pXpp
zj6A?YDyeH<gF4N%?{Stq86g$@Y~&I!`RwhyakboVEew=JoXh%uBz$=^)c^N?L=uuw
zB1LZuVaApg`;z@7O45uigUMR5WC_`_ZyDw_DO)jwNi$<#vkYQLMi^PckUb-N^7Hxr
z{+v1I`FP&vy^s5N+<VTP33zD~nvgnKiZ=z;2Q4bk2*;pZw#%iCfd#)4cxT8B7b7mL
zhW%^&na*Woa{IPJmmwOy7JdszVRjiW8ZR_%oa6Mz1&+A%akS;*d#H6b@ThenL@qvK
z|GjHGp0Ggvw4*1Q`XL({JAty^`?T{d{m5bexFWe7gKfW^6ZjQ2MDlqw<DIF!JWfEG
zHBg8Jw}1~v-t>prdX9ZX-Fqba3MLdLtw}u$O6c>?`>E*ZycxF)6L*WBCn~|Bm-y7+
zE5wX>V)y&9@u@D0H*H&cjkz_;m!1bQt@T}MSC+48zz!3yh$c}VZKf)~R;tCB`HY16
z?Ly~kcTV{(s3xtPKBCJ(74ER$gGbZF>01vk!I5Qy;-<hpi4oCd!GO>?NL#CX#+8=Z
z0Y|}0(^<w3@%AL{VE?xg8K+0dWA%sPZ?(CA@p8tvts2cV`}4G`ocAM7*TL9j#%=2@
zJ_3H@;*d*wEV9eOZ~|r9O^|S#BMPrbYX(Au!!*dU5*je<J^I%ysWYHqYZ15%3lg$=
zwd?;9+j{wW{05(v?ewkxfv=1TfjomY|6?NO-4Xnx4mox8IYkZ3YrQCN?OBTjb<c;h
zdx_8E?)euL>Unwix8>Z=0jD>rphEOuGkMshan(DiPGUwC)}|Bz&lTb{b=0U1`Tg!l
z5yHV#pA{n~yaLX?X8B(v)a}g0`XAn>Jsz%;ii+1tone*wc0DG0?APpMtV+D#jrE4G
zPH`C*V^Q_!@jjxZZR**@ex>Cq4<}^pN`UIJIihN9%*VjwC)-vqwWL~{8z^wN>3KwU
z;=iiehR8AWcD3ZG;9|~o@3Qdg_?;;g&(K|>#ohBQ5E+H&bFz8SHbAv4Yf3CTxdFL4
z)J(oQ&l8TXfQ)L5%^c*+T=bWs)|{peDMfftB^(xh!n|czZdi*&J7jtoz9DQ3*!3Ps
zi&R~H&EH-46Jsz;p%<kHJ8+Y>28g`ETCvdhVevQjs1RI&B0&~@a6JUkVn@HRe~WOW
zkl1~VQwSeb!W&SUG68MwR`qu*ZSfHiwH9OiNK<BiQ=e7&y9d`*vrKa#OPVG90K5=o
zB&$@<hYPsr@)w@3>$H#Vkp0xwdNy~*ka}rvhHu-D`t2;}zzM|{Z=cxL7#4V3dU;6|
zR=TUEDSh!(AQ@5wanM1`{YWdM)(c#ifoR&(aLSJIxKIA(>&1^nk9I@shl1QVm1P09
zb{8qrbw1sY@6wtj4y^y-wCm3V8{28T&x49k{8fG3PL;->Q@4Z95(}Oogr)g^Rb^cl
z=ks02dEU9%7wLm}{)Tz|$U4SXf151-UP1?avELiEJ|STP1hvPal|bfZ+-5)Ivo-mB
zso_wq=Z=ExV_*6=67)+nLz<8PHcosx$k7i6wLj;7x2c=C3XgvRZ2JS66(L!u5d#+A
zg|e&X1##TQ22dhyucv<Z+I(9~5wXC8IJ?TXpTL`PZ+N!N5&03SSz-Cx!p_~TyP=K9
zR!iK6B2Ks&KR?);ZBIN228wU}_*i6aV@j0}kvph|t6;S)%`D6<<r|OI5VX+JJu-w2
zjA`hS@25_k5fuV|p2;mCDrW*m1B>b9VQcFXq;+XcFh{Pux`KnUIstU}9P;gHTb;V}
ztzokK1G%!nKdjIJ-Y7oEPiGpp*nBNC$67{mQ~kT^Yq@5a-NpPA<426&C4Iz3%M{f7
zaF~bN%0hw<NVn}C6h|-x1=e<I^d?414fXEpLAOBOi8K<dpc*_FHgx;U(G2l;s;2bo
zQkNQOf=7Z}om5wC*#?Q_pOx6uV+fYXxe#)vRz&`Z1q=Crrw~67DnVz0@8|%{z%gLs
zqCcj@WyjN?!jCJi@?q+7YfT2SShezRIyU=j=?!imyK-4n)6^W?4r?V(Uje-gP4~3G
zkbfs&`nM}#yHh7ckt)U-$e@@~YK??}l0rn2K)>eV5+CGX2WS1HNK27Yw7BvG0=!Y3
zSXW$a>!4YTvcPXrffF9_mi-6;Ly#4Qw+9j=ZUXn{B@-6jYSXu<Y)|8Nhd!vl%9RAb
zBXGOjxyddS_Q;(r3kp8W92e*=eIs?*$whhqB72OwX`u-Np`t^pu$3r;E*}26IR>y_
zLm^7sy39eWw@Qc_t)s3?$nCd}6~T{B6LAEHQkkFZB5A6>JhzN@+58gnX_0U5_r<C*
z9auibTPR4=qB{p@E-4<wxGu0B)z@ro7s|+oY9VD@RcbD|ZC(bSW*(Du3JB?F_1QXQ
z9Xt4w*`J?Pkn>7?V{P^uUEWS7>tg-ht@{s=A?`sH%Fv0Q;Rt};PdkvCN@GAgU-}|I
zx6{It?rsa=Lyz11V+MjxA;_0yktf02wIzrD1^m^A%J$VzJwHScOchCWL7$GjZJoo%
z?qk-%kXzX^QdL}EnGu~qY@ZQbxd^hOf_n4-*sH*zwT0Gm-~6q`ENR16nQ~1ZJhmrl
z8z#hQkQwH;r5QhT@jHh8;w2$MTh-1Fr8EiAyXO$9l54AS;m|uV=x%26l~=x}%#zA+
z{FAt_=88YLZH~59j`+qwAJYW$%~QYbY{zMCd{u~Phd9LFAAQT1IIRSBCnH{vEn9sQ
zMXe3gZLfzx-cm~OZ>wh;>N~jvlJwC>9b~ITR|^}?ZdFJU*Rt<!c2+<jxFxvHLb)-b
zT)WrA7GVPEWD}J332F3y7Lrh=?1^-x2G~pe6GD$yal(^r&&syPwtYo%<^#*tg0P>b
z2A*jRhmQC6LQ^|@?oWco*2~uZcGEK+_p}O{{Q@TVtV_xz*h%jmz(1yfak!sU@rKLb
zj86k;Or!J(Oc5?jU_3n>Jl|?`9B%%2uSt#O;hWiBDc6Gj)dY=Vut(tgk#g|ci$aTT
zmcCuy#r+6(c`ewB^1q*2ErQ%Wt#hKGB=8bE)pQDdAr&OHcZLPObP1s#+#5J-05hsb
zTXnu8f=lka?H;cKG6&8Mrv7LlXSB`9dFku?y$z|vVGBbuk`6P#4D6!(c!i&R<sT&V
z%BXl*DR|ntZjPu{@hbdik$<VO9KUzgDhKv>h&h)26k%qb3kI1w#!GV0eAuW~6|m5N
z5m_I7mQH-u?+blY-btF~EYs-kfOxmb^Fih}HV>i34ntIYc&z}JNch$agiISOOkotq
zwzGE7vet#{gW=}jb?cmTed<$d$%hc(uO>azf*iQZX~g7sqgps<#17WV`s=f#cI2@4
zBVKRCn*)om`+fr!A^3!RvKxf!u5k{WMRtV2_s`YsJ;TapNJ)LVJjMoag10=m237|0
zD&ju>8J+$jDGcxHdXFY55kZwd6Fg#5G;ScM6viNq$UfI+kw<d$BeJ#>o0b0YxV|V#
zEUi}|M1z%zo-b8kc=TUG09<eBIPwKn#9~m{<h2uEovYA$?o)#sHACm-M=Vf5h7Kd$
z)}Z93rmOpG9&aZj<ab~^O;dIPb}0M_q?%I2Q&!S8)p>1P7{6TB8m@Y!dS>()09Te4
z_}b16U5Xn#51ay?zzsJw*g)rg=A;evqN|EZ(}|WEX9jV@z@3+hF9On^cbu9Ki_hIu
zu?`jPbVPJ$eaBxIm@e;3rVbV`Q=Ux(UDb5vUi!?ka*}erMBF;^JfInK5Cy76>tCpM
z&1}AWJ?b&F>lMyT!)8$eY$jvtEfGf{6WV1?O?y~IJxK1v`|US-d*0v_eIO!mga5Tz
z>W=K1YEXq`ySfIsc72c*YvMGYeF3<98fa&<{PeE9$=dEv>t=O<*pmnKXHLdbPOREo
zaOm=~k!#f4UoUu{v<Zs?*Mmc4cJ(GZNI)wA8jaUF6a4GEoJMj0^VuM8Vkhx5qU?u}
zgV29xmX>1~pFlNthDL`D!3?!RRIi-cf6vfLr965S*IU~)-|8@NsmFw{=3;1){(SD#
z53%^kCGmoc++V)X8TyAHIyxqfS5ER(Uz1v-K5C?$!FT^d`D}%!Gdi|{0*P~%g`K&D
zU$t30J7hv-pJxLPlPi1PN&26u^BVEX2L#}cqv-X+fQsj80#V;FtbuS6eqS{ud8{y{
zoy&1N0ujx4z6y&P{XT4v*|zr(E(GhXnC+l>!m*%~1Xt-j#FYt?S105S!)+X$=#o~2
zkL2EdP3hS$28j(e4w;`>tBj_#?5+6k1D#(Lsb28iQuNCKapyq`2kEet8DcngwH&mv
zdNWV7j8R!mvEzDZf$;GvPG(Df|B)^Jn~%wfnye)3_kSmw8ONG2rCFC2lIQkw<z|i`
zuNkZQlQbXt+f29dYf{6@D;|ZI;tW63dLB(PGY{Y_3Q;&iEC0af6kpa0!qixIm|ewp
zY1my~Ssh*C-zac_$5E$S>YBB#OVIKEkDMsxnMN0t|7<yU(|RaZ-sw-9DhTIIGXzoq
z>^ofElJ>Ge=Ste|>(5S8e`_zFwiEUqun0zFzOm+%(=v(%`wdA0Ohh%e`R*}9_edJ2
zJ3H0Kzd-)^n`3h8GkAlL#Vsba^M+Sl(#})sNNJe*0D3~?r;w;Vl)Cfs2F1d9Pi^g{
ztbPvvw>#ljhsP8!_R?z6Jp^Cz@664~Z%VjeyQn+wmiof6mI2g}w23dli4y;2(D=QL
zUFO<~b;-^<xoXlZJ4u@jH0rT-^l~e0@cl-6INg>DA4IH%)Lv~y+6#-=Unb1DfB2pG
zAJH@hJo7ZZ*YU7b0$fGzq1-6w2z2V7z9`K}52vuV9ad*R)s$?fX{ZzaR6azsQZEV-
zRXLjqI-gnc1xo}Q*$9`1ZpMsHu)qRb>tb6hG--f>`iFZ6F^iw+r(rIp#$l7>_@~kV
zC6hJGQNgO)Vq1PHYBcfe%)PZ<=<5!vUQF3$dpK_5CXBjMVY)*<>fn<eS0v+J9RD#1
zoH^{bXu1H)O-;fNS`W==%wG>N6l;OTFg~<OU9$ZbQ8kOmG?ds%UFtgpBv!+2)a~Kf
zA~m0Hklpj3FPf6JU5j<S>2Q98v=$m)^g28kP>&fuVH4tcK$LlDGH{>zu`I4Hs52ir
zw04VLEzb@nffvEHpNiK&TjJX4F5?MOMI*@e(VgHMf__x0@MM|R@O_8f$%R?1NwM7^
zN@**n=-~z<;ni(m0{AwByq+;pE3<YPKAa5fT=sB#2hD7I)BW8^Kg6Ff(s&0^JKzQ1
z<~48FYGr;e7A2Y%Y|3#Q?Qoex2Wb~z9C8Ry*sgJ)T-kMZCGLT~D12!Y_c73|0QxDm
za?KiIDdw^84w_MV`TAlB<BK&${M!o`>BHbFx9DC!sL^i4>p47J)+aZ|H5$}4@G7uK
zv=5iWQC)c)J-(8g$ybu==#xbxChrt9aes${)G|bSFfFb%!7CgXLaA1dyc_RUJ2+67
zg7ya;PO9aA3e)*38f)>S*$UgIoZI8O*tW~pV_m2^H|3;Z`t0E0yMIA;o*Kej4bX3C
zcY_F&(0><T9;qOzLZZkp=|-NSw3Fx}>j%F!+5m68Q|lT3Vb_yXR9Bz1y>QcDU|%5T
zrJ2ofY1mbxT~n$9Wb|=&Cp%RwJ>mHW<w(uXWYT>gRI<U(FvN0Yj+kg0gn&JQ4GYZ^
zD>^tzBe2Y8zC~QAsL)aIO^IdRS~1Nw5AqEQDY5*c{na|3E={@yFY;kMY(n=UCv+-i
ziLl|^{bIdH&G)<c6NoD!sqF;iF%i<TwaAhG9y{U#_VW|au%>+MN?63Gxa`Wa#YhuV
zKs5%-TWoKrpu+|V;yAW=wHl*3Af+szTXcxeFH7^!5><0BMVOG>{CJj~!^k~6<j?Me
z@cuicb!J=Vjl=_A1gzUc<TvMMcOl!LP9{;9lypE$u92XMZz;k;t1?tsLy49v=n6L0
zN}_?a{qxXW9rq3&0|D&fono}33aqwTU8B00Tx|mVwIRNI+&Q%~CI!{zm8zXAOwqNq
zb})8xdwkD)b?ZytN4`s~N-kYq+D9EC4E`vP3k`_B?Z`5LnL(f6FgoGPU3w(OBdJp7
zHt#R6g(@#Q&7h+LN0ejjP(EOHcZ?k%3fsL{_3Wa*U80KTDdI&WzzZ|(aA_Ti+aH0P
zhde!)DA3fX)$u&>F#zf8=yICXA!vK=qp|+MeN`RN*hY1q*$uv*P%`-XfB(wb#=J9C
z3N3_kQOe4DQC)jRJB84B{5o4j(d)dbYZm;$6=PfuK~r`Lu=fA`My8xD+J%~Aa=;#P
z!rq;PtqCBuY>t9_N{<~l8t_Wje<la~9fu6i4xhw#60^YD4Fv~8;)Wb6-09L{D`B>R
ztxik5aND4P*l;lAlRz~6yd}rwu^R=lfg5j7LEaX3KVe%J$|m20npT{(f00(l>Iq-J
zSk-0oz8u`D2bbP?e#LM&lE&bgKd))N&7Tmtn?2dcOQu2Mpz@&Urm)@QG_kAy$athh
zd#WoM7^b^|uxRjz{GTv4$FK3>9<MOca%%`15McnAzhu4xTP(YsExOn$R%GZIM8AK+
zs}^$s&;=Six^RXHvW7oJE>qt!e!sauJ%%tloP(uDp#?JOU1^4-MR?RU{26!Rk+f(n
z^?WaQL=p%N(!)0t4ADg5KB@rDa1u9Elm7(iV<M+|DL9wJn};u=6qP$hZaf@O%RMhV
zb0z65(}~{uwY9ZdG*9pQ6`@4qBrH41DIvPO{@w$^NZq~e$T~jgT@zzF;e=%Dt6vy)
z0a~x_+4*dhj?l(=&25eO{fVXhYx9{8t`B%>9ev80KYIfv`!Tg=2nE}H^<W_n?N?zc
zHhc9HLN}R568aQ`#WF0cY;{DV8+(lO?X8fN%MVQN3|c!{%7|-@{wW33zK@F6&px2q
zy(tBao*9JbS(!1T(61^Bm?93aw3kufdcP8jZFfkb`)Re52^dld=A{b5#W-5mS<<OV
zmebH?{PdmkFv(^J%J}eiKAI6pm*EuMOCWIbQp7B~OIG@Qd{(i)9g6KlR7^e+n-Pv!
zl+ZY9*U35J(SE6JX=yS=^n;T9Mx5l!Sw4Z`xF3%qH6U_O`zLqgZIonL;GDS2(@}Tg
zQ?;FJPbY&nr}OJIl%!t<b7u$irA{+NU@?q8q6h;QxIV&QC|GI+UZS_`9*dVH<@LR9
z>`|_8wtuo{`m2Lz3Va8`{SBAdNjn5|GCOIjTP=k3LLX}WPbHhem{Sq@ZC^55E3<EN
z{+DZJM;*T4O9Nw3;3d@fB?F5tgXY(Oa>2{!7!+q<@p3G@g$Bk}UKGvbtYJy!azx4?
zWC9GESNNV~*PU4<k;$$wm)#WnT{NP@kO~={jzY6l=XL5jbon6Up0!u`)qVjS<ga3S
zs7XP^d5mTiPa{S)tVV;?opZ_#Xg0YjM=H-~|4LhgXJWO?6=W6Rit?i?=^3l>!l3K}
z{fCTlvE&CpPn)Vk?GUQ=`#A;-d}`cFLO!$-vtQk90|xF=b>}aI9~Iv<?BxJ)?j`R;
zWyN{QP<kxS=VQHumqbdn;fn$0?);7WNzj{5q+6Agd>4l65HtVngEs_0qg9w4^}S8q
zvRg{8gthLo&(4#XxJF_@-!v>r?%8IeJ7<b^>2uCshWoCy_ZhI2AzDr>1J6g0>0s`)
zNxvXfBs$b;K0!QRxx{t3AGJ^dm`^L?f_#^myhzD@$P(bcG(dTI#F-aW&Xyukgbe&m
z_ah5V**WH-LQz@HYPU9HwOVu?NnZ^b;*Mtcu@X&Z?azNZ>7ZhD92UyGl;F2O{@mD8
z@(aKPjw~$1w%25EIR*t#UL1d3w9xO<@g`Q|tTwgr-2oBytuRG(?K@$Ncb=HFn%RA>
zw%qic#Puw!l6-zpRS&8*XyvjB%q~sNZVM^dRZ^_O`?~st=i*QFU?lx>2!q7{|M;}*
zsk8jYT#8e7TunkwV)Hi4(qh@Y5tq-&uD_Er+rA^c{JkNm4}`IR>pz)Z`W)1|e<qSS
zrpOGUAKo@xsvwljTG!s+?cMBC7gieP+>aosQ_2%Z{#B>~i@`VI9K1rM^3smUR(=B2
zUxpfXV9q(h-}ch8(J~ch&vlifOP{5qIFGQ}H51`UPWNj(mFpf}2+|hFs)PaB=<FJ{
zOPW6(v0hyNFEfF2*%zS(#}X((^yvR!>6oTt#>Avl9JHq0kV^XLF_uIXzQKkt@j=wR
z&uzzih0l9?7QSP!%6|@9^edSr|9KSD{LfW7F$?{a5_>m38_yiE7>aw6>WYk4(p=dZ
zap~#4<074c$_7s$5*m_bN67j_TbtXbfd_xe>CsPey@c{DbO4KLAR@Po-CozFR;uFl
zu{Ltv1(`KO3(@jp>ax{&$|AyTQbd{?b=*7iB#hrR{*v%*34vuBRhZqg#k&Onu5pH5
zb^+w>@zT2PFIn=Ne3IIH%P#MA_}Lv-<J|Y{olidiVS}_2)C)+J{lAxaQRmOqmz(Bw
zNhP}g`PH5un;!CknlaDX?ZdZ+Z&sBSLN|O~Tvm$%*)1a#2|>YZg21zQ^Yx=${|o^S
zozBl`W3_VMAg<&WeMrgs@C%h0S!wDJ=6np^8R^hf8F2KpS@ytozhw?CSSC*W)yLPd
zP%B64X%&JIFa`Trj^4Qlp1T>_PGn;zg=4icu`NW;>b~D+svi7Dv@I_*t=@TxjI?of
zqQ96>I^jEVLB172MJ*)k3mWh4l0BNC$2Y8UUfC7km1EBZb1KMh^5te~dVxxCp0}V9
z>^@YpN(UC2U`Gw@G0EN|F{gwhu>EaH5lf(~#T6#Y2R)+g64CFVs2tJ0fsVQ_^2N;W
z^aJ;XtChtw;@^f;U|XPiOl3~xSZNkz)vBsk+-h!oLCQUx;Te2=?Im264Kzjo5l=`w
zj`?`B2Z0TcIFig_<g#wS@-RUy4l4#%`45QCZM!^uFA|R)gbWu`zxo*50-io+OGULk
zgg@iUH5S78auL+M#ZF=gyNfxhD3!)zR3*9me6-MO01LX?SFL)=wLrR13nrcdHtW0O
z{}TDhlMC#=uWHYB5KGX&GAuP*5mw{jM!47ccroG=xbuPGENb;a{YB&*WAY3{3vuGl
z#I>T~Gq8c*pqskwDZl;s3G%b~35{6%(qT^fzlo-0M})3@PSd8FIMi9EH5R=Xi`^g=
zzBG?kfrX-~4P!3GVUa-#?D-Z_@mR0j7TPa38X<WLi1#AZQu&r`+_zy5_+ed0nb{)?
zx|s<5m_HAk-FD-?bK}Nq6@};l@i+FYgC+PEq0YhoqHIEBQc(fX+ii{>Di3(TSsm#g
zw+PDLES?i#j}b9Ua!`N>D4Xs8?N|C23dpjwsSUEg9?E1htdBC=g@pZtFv*IDqAmvu
zJ^wTuM*^<SsI7ou>X2xjoeJ7Kb3z1DVsm9Pu>u~Ptr}JcGaRZGa+CTi5UFe9M@Ukf
zy+thW1yzsa%I&M;FhjMv?BQ4uE6n$<9?0{kAMs<3D2S^u4UOGA;rE*vH)PFf{guZN
zy4#n^)i1&i2R4Z-Blr5=_#?>92#i7cI#NhOj{ifW@Pk&2msY7Bv7x4iVNxXT&xZ@g
zCAZY5_c}(6j2Ok8&4rWB5-FqNCHH~vMNNsCgPg8UpX;$uWrRfc@VPEKwU~1i8oHYc
zK{XsEyi^ZfrUtc%nDlW|j@?%!VH9-g9_<rw37S0O06`vf>#8ZR=|>JL#i2I^dqk{<
zCV|V%5H?3X*#!<&K%4pw8e-%StS8uV^qT$X%SQ@%8aJQ<6D4FmxG=~jev%@&?&%he
zw>k|Bzw!!*&^mV-m}5jk<gXDW7;3LKn%U5cGS-f^GN;!3ulO69_JJ({b-&BdYbUoP
zQXP7UFfztG`8zlD296UHr=U+o(b>wLrPW$ayzocVO}}ktwT<bAFfH_foG(fWLLjV7
z(CWc-TWcct(*=GlJD^JVo09w?y&I61Q<V5v0V84}i8h5N03K?oX*b_}eu-C1WLmQX
zSa4Hyn&>xJG<<CuleDP1_vwW-tNkLXtNHK01#OoZQVI2_zyE`~{NfU!IC^p3aeIe9
zAV70PGG!%$myck5N@}Ceno$=fj663K)u=DUNaA^D69!x0BxL)86GGE&&L_T{zOji)
z{s*4I`P*NwOHd*7Q2%mn2(s|gP1In>`^PmwZO>doV0?k^n%u|(lZu|l451dQAE=Q+
zb}F1=0*8?VL0MlTUE2-;rt!Ob8il3=9`MH6r2U)^PpClfYU?m#J|@v*juE_t<B^ry
z<xG!o3#qVdhG<zI)#fK(ZsX5X5au8|ShI{`oaI3+6`{*_UpaJTEZ?I3N@B=wtuh9S
zt|T1aS&IYyv9>pVL39V_y=3VwH<h?|T!Q=66X)O5RP|Nf@d#b9<KwewUu2o4(s!?T
z1pzguqAUB5r#ro}*HnTheN!4MKj%Pa%so~rht>@puemsGi(GPuWQ6x#6V1&S3wQ;r
zcDj2=YoZ{pk@k^>09;O*8J_x@)i9*6iz+@~I)_5bL=T&^(Uhu~(^trtd#At}as`iR
z#Eqqf3fD<UR*XI(r{T`Vx-oTbqF1+e*)zi#|2?%gANqB)I`L|AmV%xO#f1=qMF71{
zi-E)B5A|%ifz=j7T1baf6%7IWjV`MS>{EI?Nvks;9DlG@A|vN(Uw^e2mb%kTD<Y?B
zIwQ{6l5yiI4W517)20f+MECey__{V>tG8ZpL2($ejjH~fPxfIXp0B5ysGP9s(4fB;
zCjC5LhjH_DoFuc~SgPP=wb_Dm0_EK_r-gg{LC@yMBOi_dO%Jr~Ur?+bJ*`EshjSW)
zu*vZAli-S)LAZ@ymzph1c{`63@Dk#^1v{!3TkbOdI~dJr&Ajw1<z6SJ^|SI6stJ+X
zq{g@zkyEz2WBJTJyLP!O2H0Y9F_o<Ne1)P^UbggnS1RX8te_x#zLnyih+3U0gRQ&3
zYfB1FFDIUteV_}IHn3WBD-O6&wSvQ(b{nBaNar3a(1mS3hlRfAoU?}|@1DU$$$Y~!
zX0bN*6hotSw|c92Z^f)<5Z1Mq{eHU^2VWk#2#m!HuC-Y>O2?a6pGOvdU_(qFC(%uO
z;p>(4P4)ZrNb5QUej9z+>(Ba>;z;Ur2I<eP_*PlkOWP(-<?c?*RR$!qPj-{#suXCf
zAVtwYD*Vhpbd?U|oI^!`Xt~rW15Z=NsZB(e6$HF;!Adjbqw*8V^l{BaWzY9jevBp1
zjC<EI0&40I((K|ojD3@8-tHmM!^ktKah4xsmDF;$V08q1UbN8A)MT+sP30u8@yYr^
z>W%`I490}gSMDAMi`lUFDlnwlh4(npKpf=Vk=TY^DuxHEG^6k6D~%E(`dM;sivYPw
z!$u0YKQ>SV8HdX;KCYFCFtKHdOJZN2G8Lk7Ucf@XlmBQgE34E|#S8G-c$5F|j8DNt
z-BWeJQUs*xv#!qg`T!kv=^4qE;xg({2V~V&<(E6iefGOv(t;VNkx+M7bdcV3{@g2y
zImW+*iVi}2i)GIhd6ygg(OTfz&s%pb%Uom<+c8a>4gWZ8+)|)lt6EM06Q4}~O1rt)
zxk)>^jf~gl{ry9wFbg_qhH;G^5)?)r?%|tcopVoB7}dDH;ch?Tu)*ZJ@$tf>kyy^=
zLj1o7Iz-bwzEVPZvNv#ZCKO|m{Q&S}j4?d%|AD(humKt1d=7kntMW77{+b$TczZ%4
zl*UF4y(TJ}teh}Ut`A4%W+8kqysuZ@T-8MM{8u{(?;Ry(i5Z5l$@769Z7~^^mL2yr
zBEb$@rr<JjwAqA5?my7ImxhAdc$V{0!^Y!y%GNa2NPmozKR%54*Urc@h(<7vOFnj}
z3iBM!iEVc%DTF1eT!+TI1@rj1h!pELlMVbIvMy{sd~j+6YiBbj7{%ZZV7PU8fUP-b
zRd7hdc1uPjH0w2!C7XWPw)~<BE$l1JFzJXF6ewwM0GX@v=4Z@uxxA%ARrUE+bmLdY
zl3Gz{;V;JD$xk2wFAdi4sujnXr&6q^TYdBpmj4iYkw+YXBC06)8cSW>8u=!j%x0BV
z%*<>P{?Pio)Z;$P4Z|xUfT)VVr?fLTo@pjBswo%=$Aysd4)P^I!QMMPdnoAK#=Jz~
z*VwvWMF!}2Q8<q*kOY;wdoSgVJXR6=p+YaB4_i7jZ<3Ycrs6#sHNGGH2J_Ev4)})g
zs(R)aCBu5dP*2voE@rO}x%YR2E3k)wTb<ZmUAe*wEJIIRl}azEBgBRcA$z<;JLHTK
z;)#})X2bpDu@ye`={Ad!tx}B70u2icR4NBo&I&AxZQ803Ltt*cFNvN`qBe(~z77&q
zpSZ+H_n&gcpbR14+1oIV9eKZ9#8Vb?R8dXHNM6L~SNF=<boOztFH{jnp#UfGtI{St
zH%xjs`-<UjXCW1++a^?tvf_N9Ts}@|=`SXy^DvcXt7VJX)t*ji^T_H<&Bg7_#f^s2
zn;I_)Zg9%{CO<rO-OwOr{oyaBapJf+jt}?nNv4m=m)Ahf4hwss89(?!FU$a?*j5Eg
zE2f<NRO|#7GX1lV7PL#uDnO&_z`NVmKqVZQcozIZ%@9}?K{Kv=q|q({6Qvpd{$wML
zGSp>zqC&-IuII~@=S3(DP;*G#&gWTB#KlztvBDWHjXT+MV?{K%au%b6Lc=7h(eXX=
zeL|+jz(+J-ix7BfX4g{@AOXGor@`DLzEXL#$`XxtZ}E9v0-f`5+=-AoBW1>4^B&F4
z(nh@d*9{?hwlr7nmfZO!Nx8SZ32LN^*TnX*o@_254s??UYRwnhjki4u7Coma(+_|R
z-$h8q_Yga{Q9MyXcJm3v2PtIMVqhi^#c&9R=H87(sIEU5iF_MseS%Sx`-L&FWLIRE
zI?MfK4c|%YBo|R%QE|MfgJsXI1NE~}jk779tUc|jec)f0?8dWQw&jnw(v2TE%BrB9
zGL0F^F&MxEv}lI(?M(f>Hc}o@=x|FW9S=<jLI+{zf^SZn5@grF)2>36Q)n$d>I<n~
zT}mmR{pXK6?hZhcJN)HC#=X<!s@JYuq+Yb@V1KlYYxg?8w29*9*Yp|sKCBlcoW6^C
zj(C)k{J~Uh=D0mvrCl`c+`FT+LW?aI-Gy-2ET%ANRFWz5?5q|<IF<6_&|T<cFz9D+
zU=BNA5fv4r=E|MJ$*ZY~JSn^O?-Fh-E%cTHEBvl^W;Z(Pb&t7CQ|O_Brt-ZAB%S$%
zkn^HAF@rlh>-zLyfO}(^HTyeCDoDc8san)-jS>P(2e>(T+ye;f>MVAlf<Kg|Q1qMs
zBqPkNmS5CK$OUkJ9$Eh_Xl%Rk%AD(UdHv@q{?`QjL=*J8g>w3$sc!o7a_7R;2k>BP
zWR;^z%<GF+;WAgcjJuBp=>;jHvQ56M4}`1%YpWDi#G*(1eDIH#8UW57KJH4fnvCc9
zF0^^|NDQ(Op$b;`^8Wt*^<RZslEx%!X43M1tXH+LW68Zbc+a`7*^{5c1kb-0D$R_9
z4$*#(VE*mN`Ct}}{V{o#(z?`Tc1*c%+kXfe30iAq#7zqMRyY?-a6QVL=SXMr52a&m
zMAfUBcE|s+h~~b}kprffL$}+Zg30hpfSEX3dJ1#4!{UI|Hj<DZQb@2l|85t!jWi7b
zk8PqDL=0a#mEX+g6*jO#YQ7vDNS^1!Vc}SGP$i>^62kkV+RyPzXS6Jd#Yh^#MAM!B
z-e%2RrvLp2VCNdGW4qb2`{@@Y7CpMmU#m1z28dbQaFry<(qekS3>&3T<{I8SHCz++
z-3Mb5S75<Zldk=FfPs$rKklNz<nE#}L$e&dUK)(Jv=dxyak=~~Y?s=X71s2`?JyrN
z-Umhm3SAcpOK&ckwv~yX_EyFgFxrHNFLc<xIgb-G^~86SLcjUkPLeFI#nLUGKrnib
zEWJDQB?Z^hm~y6ZQbIyvT_!S;cfkwp@c>ZBJQx`L*_A`@xOrh8lthT6&INleP*k60
zH}k=d|5WlM^DlWpb}X}c8{bBI1bz1ZIVV2NoJ$6JO@v8#P&GCFp1KZg*sPL4`rs_g
zrfPYh=%Y>bi_~9#wRypelefkEo(o=A{>$<8Q{+{`f1F0p+0<mcg6?_2E@&wc8)IEY
zsl-1gG;9Pq`Hh=>{lGMElzO7}ZR<Sv*e$H?u1($gQ=yF9&ne@Xmf)>}H+bImRdM#l
zx5Mt&+R>f8!rN~d51CypjO7u&*DIUVA1VklG>DV53vx$T$}xRGLj9J;xjY47X<<ut
zq3D0rN<Lj&d;2BOi)4sX=DBZi?3K{F#!F(yw-vC*dUPvH_cezP2jb6ttoT?*aF}GK
zYET24r2dy`sfREv3+;9^1sW9exqM@C7%YII3t8{2pqkjLITs79#pH06bLD$jE%{%a
zkc|7#3^3$%xVWFgyqxtvWnQdmC?e~#8AJj6Q03=-8LX%Xn^d}@br4Aj>HC%Tv1{Vu
z`VG#I_w>+$@C52>YA^+@e@pW<aKd-4{H(%Ke`<vw4qS9G7%D_}{ebRbM&f$olF(vd
z_kyH!pnu3y<pH(`Gl5)Kdnj-y?K+$T{~2Ol1&Y`IeS<fbc01e4NZG&E&bZZ#R;lJx
z0KKDkmp!QBkFu-bvYnVlim|@ZJ805wKGZNz35RWmzsi#W1lDuIA_{t+%U!w|EY-8^
z>OQiW-nbE*Ce1xlgVq0gyxVl)FYkqa$C8bgbi2de4K1I0@+Dd|L-guxev=;<*~inm
zKO@}|&&Fdcbot!nz(*jwFL=VGPjznD_iNDP#;Uq}UqI*H{j%>xYume;ef!!&Fnu$>
zG8><PBCa`zpJ6>UQMm46B>mi_lLJafr8o_gYE_RRHT|k&h2BUXJXK&sH0WS&^DZk^
zE*;@Wg`kXAYzpH>2h~J-@WHlEV$4H6cXER`XJ5TPv4|U?&9(+L4IjLBNjAt^*0dVE
zXm3ej{(+mZ8qXptKqJ5!Bvx=a8YA9=cY}WY%G}QU;O8gd-#2LkHppm-H2csJNzi7@
zuWdaHN1Yx!rGDY~oW+9Bw32J|R}4ZN;V3EmzWw_)ihA17<<I#L9|TpXh**HV8pm$A
z)d%50Bw$AxdN=@e?)v+9;_}mlTW6Nq=nyLL?fMIIMcW}Z@I4>t$(}a+dIa@hwh8+0
zk+ntNY*)X;x8b+DBp%moYOnMMG`4E}Kt7Dn#t#%j-5Cm=+<;j&{kBL&h@^&*qt5!i
zZS+U<?dyhmZqs9bSbXDazBl}3HVUUuZA2uV9lJF$Al1Z2RNe+_=RmVgu-D1|7Lfh<
zMPT&q($3R(acWvSU)}7?U8p~g>q4hD>oqcEyEb8+EcsUay`N&!!oZu(upPc>pZWRI
zX&tKOj&2SjuQ?oFq{aokFDPbkt5UP>0jFLMaY<B=JTZhMQwICR`xhd}wutFzqbFX*
z(-@ns&e*q$9>;)#*)LJL1ikT(8a7f8e4Ot9M-S9T(0ljEdaxikxnAsCuEdYy&`x;W
z(g~G#^q;SB2XR?VlY(MZ#zuLt$qW-2SL<%Jx=;EHNdB9kr9P%|UL%j$iA#8;#3dxI
zE!jE9IR)&Vj>WaD3O>zD$0{oFx;nl9h%|0+2QCc$CiS3-lHF?GR9Y5%Pw(~^EO|6R
z_oWAVzjW$!nKAfxNmNw8NYcTXQ;O5*<KEmC)il>@iZ2>Vqvm`VguX=iHZufrX_Sp4
z4OEs-r&#vpemYVaw`0_s(a~$Cv!Nwpx&$%CQt6q`O%?@7&QaY=0y?<U_qlfgy$M=<
zc_^whpsW{~0t+|}bHk^=@Z7Ru?bU*#r-q^4oDE}Ie{DIl?>nwELKhwK=3Z;}TmgH}
zw3s}W^No9nf7TUy=ae+BtVPa&!Ur)K9gk^vd0?>x9UfLh%(7o%=J9!~!NzTXi%1$q
ziQqbR$_D?2ip#GFxpCvKpw&%J8%WJ}8pV=CV11uiS<w`HV}))_D@Z~jD;?1)#-3TN
z<lBxT=I~HNwS)nv3|li1vdVy$N&T*<)f?Bbwf`H$)~$KE0~9b`ju>R8a5p>4>B8Qc
znQnHTh4D1tIpsfck?wA9x*qCcG8E-Hb14vM*hu_l9Jr+6x@&s#YzmAM0jX&~rc;UU
zJxTBmci;HuF*PCUOD8izW$^tpY^~{=p34Y}bW`?@zdEoNwRmWwHm$&|R;j4rhx!J~
zT!yiQ>Pbf)w|MF0&yV4uzbJJ{j^56-YHzWX881>ZQ2IfXO2N_b@WZHeGadB?z2I5{
z`B!uz<Q!W|Lm73#;>+KN9z7RhmI1l=Y<~|pUxwlRojMJjZly+anZ%G-G`<n9^~vV>
zUFJK~!VBkkj8lNv37I3rp!6?6IPW0u)&B*0`e>AGLFb(lzsFI2wYewmO>y3L(Va)^
zz$+-6)585uB%bmc`^xT&M<}%FAfd+SRioEJe6{Twi=33LyFaS|m}gyBFe&c%PAQQz
zzFO;Nt9xO;5u)n4d$SOo)H9V&&ODWQb)m_kjn-{#*4B9%%)lq<#1|BxRKA8%w|?0n
zVq(`C0?RynF!J*G)v$p1_xL}-dZx;g(g%z(1hvM}ZP_KuUN!904-orXXz(w&x1sW>
ziK4G0I!Ny@lX_7AJBc*NYWVT;*R%Lz=-PY04x+_}cPx7RO(IBXVqBS^BdL}MrTX9-
zKTXYDL^T7$2|bwq-QZV7li5f9nw8`%!%((p?xQpfxD%rAYB>jc9@L?bnW^<i`wO5~
z$PO>skmZ0?=6Y`RefZ%4$>1h1N(f`;8o%OEUG<C^oz7TqsQ=bN@BT4r$PiibK!lIK
zMI>JKNUtdOG4HBynMA)33k`r}8sq#(T=0XZKg-n4@#6R%Kds7wMWV5pBQqh-FNJDn
zg+-X6KFK<DX~u0jj$&4zxxMA-#G8@C9&l`pkHoi}mJxa=R~r~#D$(}yA{|ge{1~7?
zzz+ubMXyJ`8Qjy^kkH;J(C_S|A>B>w*-b^3avPZ_hYn+PvnkDZ=%R*A8u%z1kt$#`
zq&6fm45r#&)EQ*<!uh}e{G_<jnLZ7O`dtO`|L}biMcclud{<fuqI%lSJrMt;|BX9i
zz*e1C{PxRtT_t#F*xOvqP+G?F!y49&u05G7=Uhr8Y0Ss2jTR;0FTP(39UiWG-_GZZ
zerMvjGS^65(tEEvodl@geMJuBbX%TIQ$fokZ#X(x3q%z9ypjF>-Jbu?@&1Ky@OF3s
zgpGJ`l@H3Xsj5vLUK(85l<AJB^s|b8ymn_(<ePx7*FrDw%`IdGq?pxwTc(WfpCGV}
zhg?1o>EGEboSD;Od4iFk(N(yD7q(J(WfZKABd+mkT}W;@CiY{a`S!7bCajssLFnll
zyPTXOmR|mw@~~Uv;Y7va`;}=b(8pzzs?oLkjZ*I!Rs$Nq-=KUBEdBPO8+2=7`LQX=
zcgDgD5*N7exU(ysmBL8GD*HbX908h!XeYqm{fqCmt{=++j+yD3MSqP;qSD{y{44nU
z2VU>?H(^8&I5_=b<RRjiZq7s71VJQ+fs9c{hG{d#_e}lX#22g0^>;HfZE18!2Z%rJ
zD{$U0;oJZ2dhOOU<D4jgOm0^e2o#F3^%g=DuU9{pbq_z`pn6S1=Rp}PTv<ON|20i6
z@2t=#TNU1?Y&_cc?%mrI5mRdUV&Uet3hVvIDBDVQ^^!<HrGXu5)+P|@_UicZqsp6@
zJNAffV^%)V=xk<{k&$hQvQ=fMZ9grDTBOs0u`nlHEpEIQoc>0aMeuGy@|A=0$daMV
zV5*&X2XlRMNwB5WT*NOV1W{$%_atmqI%iGV01!eZ&=+j+Gwz9OrKEUet9H`GRLY|P
zvd(s>QpF8@+2xm?&@!#nekxJW?wE8*;>##D;tfcP1@!`G-vc+C>PQ8j+(TGihyCpA
z1$;2t6yy2p6}FGlD1!*~<$M}_@Q3DphYgdH;E-9|nE9srj)u*BHKF%3B41*M#eh;|
z;rVR(VK{iR61EZdToEx16+Mb*XTi9dQSdA3xu0TYhweoi&XLD9);w}N4#xeM4rqBT
z9(m@iGWdJ^#iWG{$r}pxe}~+o>sIKEXQbida;H9+$9tun8ALq0v9)utgLIkzji4$H
zScLY=^qANu)5R+EoZ??uzP9{K-UJs2&f9EVC&y}#Kr?zon!pK1J4;U&<32tK(ieTd
z6cylfZw8S7Uc?||Z9x>g2yue6-h>u`CPUr1{>g|!?`^?C-&jBAqqIJVmnQJR7z%{A
zkKL+^1J5z>)bkHxZdKq8yIGCJ@BNKJ>~qxnv_g{c*Rj7_at}^A?xw<}gvKpX@6lUp
zGTMk@9jvx>GJ6i!1cKtxqO(v@L|r>$B4z_LAGGLr4MQ;9s=f3&l<b9deBF*@UH@pH
zktKb-NB2Zbj7!F%^goZNMGZ;5zj7+p!E#RYWykIF(^?ASvevpcXrfa?Vc!m5<;4={
zFV`(?6HeH&dFr%W5xZi+&c)~bv$c%vyjUdvTt)9qd9OzkZ*jE&KIVYSPixK9p!qT2
zL1#;|-8YVYdLUiuNvFTnXk24s`_FOm<7eTsenIAc967b8sm^%S%`VKhat3-i`dTC-
zLLHfKW$EVAvwz|Zo$fX!wQ35Prz6^E&&2$*wIiJ4%h96*FQIJV7AyK4m&uc_FJ>W5
zjB>_(W3K%3U5>sl-5!mV0{FZyah#6Q3~We>4Rz>*C^)iEr*G_PgG9g2T`rF~&6az&
zc5C_msvKT$L9H_sZODN&FiLc2;*#yIw+c8N7uQtSKE=GkFUPkP@81cAg*!KnW%OCO
zN4$K=U&``G&8}PxoS!$Ce&}^A3jviazKvtobKDkwirN@p_W!JZW29#vJw;9(u#?fy
zAL2merguvF!w|-oa1vI#8FbOElT_mMNQOqZ^IwnaHsn*3n2LhQYFKOZLCA+#d<{`-
z>&=O>2E?yyt+kGSJE7fFvua>Ge((b;u}2pujWe%EJ?3c|f@*&=QJrz`TSgB2E?M~<
z1CbyucKzs}32vRM|KD;z)d)vT$lua|6+h()Kf9_~EgP_&TJ&-F=^B-AJrZX!ctcpa
z_TlBbQ^|tzsJ0(Dp+n_9eDKa;{7tdxe77lrpHNuCpSD~ieO_Xk;o1Qh5*x~IAB<qG
z!pd)w+EPCx=RM5adGr=8@4gQjr;R@EMAcMK82@ZCU_1uYb&uL3n1cU<>4bJrgNtSu
zt}Pqr*pP7y8w{A3%^$GePuzYw5xNO^D8MIrg6K&fplMDFj2Wd9*7)w<;t#exJ=HEZ
zu@p5zJ})dk*dTG}UfX1bTFZvYenOCaZacNUXtSW-E8YjWpBm?aP?2iAE^-jDUpbPI
z&*P2KUsmR{eNGB&pm?h6?>;>@0}bqg&)!0<TpI89kyk<~A{Oo8T`rFDiblK2CVq~5
zYi^O?ZlDTS-zS#xhE1*!F{PyBD1Kw8Gq5<MN#bkwowKgSe{9d2B2FHd3=WIUwq1eL
zvswR`p~*}P^iaBax>^%T-WyMSO^nujS@ZIeu&{g!)s`rsX&v)^jiQRYt#I*0u;?Y>
zcphBIr*+TbHYn+pdE-}9(epORBLF?B1gt&!90?oxy-2GV-2$a)lGY&&J!Vw&lux?9
zL{&u<w7?l^O0W4IN`2)&yAR^z`g7sJLrS8swm|bM$3?eBcC>8~d=GCQ@3e;roZIPN
z!l$lVtcQ%aA<r9it7)?$%Q1f@>e=%dzvm7K-#6h%XGeL63p$7$bHE{gnpe!~QQi^v
z-kZ2xxVhz+w#fp!g=)x}K^L9t?v9I&tA<xsnaIC7yGmKD%y$x3v|8K)UyXzU&$?q@
z^HEVtc2@=_jDEE~YR4}}pSuqXG$ZA%uXgM;qi@>3=nM?%pgMy58I2O)Kj<$<7ofsG
zL<WX<Hi_x1lsgemXN73;v`rZCv&wE_8j0`S-7eH@IYv;06w;5%W;}iN&!hGLenb^~
z81hqu5rwa=@#<=egC4pg4aOmjX^%v#zdoGbv*eH8S-L5BbJKA>aN(Aqd|R7@w>>6~
z;(kk$4dl0d=Uc}0GpE4s6F3(N7*r6h8tuNe3w?5-mD%5t{>I3XePo(ES)#Ky2YtED
zoHsVJCx=zTLaSi3xJy+JpL1F*?t`UD);?b-tqIozVdWbZR^#z9SEgw1&U4+k-a-8o
z#$5M#yH^k0?WZMxq>lk@3S&_%O8=P;R4eDgN7x*LUWOb4j=qtV#XC!v6sCB3bIM<D
zPfng857#GFm>bwzr-FY2N^l`#K95)Ba2TvZ{@W&K`Uv^!F<k9=hy$@_jiQ+zCH_8P
z;lpG#(^1}eS9E=Ld0i=IE5d+JKAwhYeG+L?ePvnlH9JaF?h$^DL31MRq_o$Tp;sF{
zvYymYlc`rG#N`Md+@CweQXQ<LnCkZLO)*n=VXL}{VzU?NsZg1=hdi<a`(V%zrDPw3
znduCxz@!xDejMm0HewUvP~h(7pGV&U{`$pt0!G*^q2y*DvNYuS?u<{b#X8OCl)|}(
zBE#?p|IG~i?+`=UCguMgJ7Ig$cE~6%Kut5lXg}%lZ}JY8L_plO;gh>OyA|u_38v{q
zdrFFq$O^dd))Aqvt~I6u;QK}QYL5u2fYqM!Q>Vju^rwKCbxzkKCapY4+vIEZ8O(+A
zcxNVJCnDh_PbCt!0T66IcM*0w28iE|D<O=>^T@6HxlMJ5t?-LLGw0DoqrK%>Q>PDJ
znO~4ImU3+A_6y?L2SvD~w#0S=fcfFNKT%NEOjgs83GtGe!t1v&Q&(i=0{s8#{g9ev
zxY}<UhE><wsaEF=nCpy^F{=~xaaa*EgnPkfuLa~+@IP6Vf{?TC=O}M@!8;{fYT$~-
z`x0u1xlZXd!KnqMTN^%|4@OAhQ2CW)L|hHu5<TATw5-OnKFHytfMMFqF)H3UWK4}D
z2;*^+ZshBiIoS^ITTd@2CHg-M-MsJb8Ht;Z$bCGWMjxG>gu{_R@D%;1CTMIDZ!DCw
zS+{Xtlazv9%}D)YpjZ0eE!!$x+oQ9GGti6*r}c0lGG<RQcl7Od9Hs8Xr<V=wp};^r
zxZ{Hi!JVmn05n_FpA(3}w|GiF$kmq>FPAj-knA16Z^>|03~a2Wm>F=|f8|Ct)7-jU
z26$laXy!U^zxmw!Tj+o{K5AgIXD86W_A@F+jZ-b+$9d|lh2%IZgL*qB+nh?d+XDLz
z$QG@wuQ~1US5CDl3P!JU7(Jz(WEr(|M;GgOE^nSk6z~<A3mum{A>nXg{kSmuW4*gN
zNW-%_e2-x;TO+6cFuG^k)vkULo#`1<+a43zw)f2$zs4nCqnVYuJ(eUd)pe|V%gpoP
zUYJ0ZWh|`Na?a%W1SaJwpeaYU=zsb6XDwfX-0o$T@<(?>;<lU~{TqofzHwc!=~UB;
zFMB=^9)+dxxD}h+D&^a+ew8r8XFD#fo4`V)hOo8x<5gplP4}ar{h%#E$s_ikJAwBR
z>iC&Dl0)ViaQ5|HDB{jiO5b7StnXzXM*YLGv7&2L1X-_z4inF-98^i%s5OoLWs~Fa
zxufGrEoG^^PZhxL$?Tt$W~jy#u_s@C2wheYYqBK!{W{<y{n&W&VD+u-p9Z{(war{T
ztxn2F$*25dg=eKRDQzOk{_P{+#TN|no^mQ-|8nKRt?^_Y@)1stuCjA#thlfjzokM|
z#T+Nbl?VJ~V$N)W?%DykLeNavk@3G51nkf*m6xdxjBT#7To2{0Cw1*8p{c(NX|FyG
zfT0d&FMH1xK36Ua3Ayi+5Pq}PFQ3mNOiJJ};_4|!@tXfvb9o0+{eOQPQIvFDeT^vd
zn)h;z$POW{O}MU+aml=8m04u(`L;)LmF-@8T{Gbt*&{pGC?g}g{CxiS{rCFkoYy($
z`8cn0Uh0pNAWXo3%tx>5!<V;n!z6$8TrWN(QC<kb)w!G9N>G<(Cep~Fo>b(94<hK*
z!e}IfovEUGt=Yik__<AS*eyiZso#`?S_1lK(H)W-l-lyI<#7fXEj*cGtXOR;5%%_7
z;Q}M{9dmVFT((htE4~c!ICz@+CL#)Y>MCr%?IX{(A?7s}?k~j%#i$apsSP^Kp9eek
zsg>P|M*(`I2P46uLXmGmeGnfIOfon+bG{cW$!+r<ty99cm;hQ8cFQw?I%jClirbcZ
zx^Bykc%L=yWdAmcR_tt&Z=b_23<L86zUeW2AXWdC@&6b<tixK9q$Z*j=0C%7n9cib
zxt$!{dy=g8C5+wQY<|iZwv^Ip#w}@Z_)GT%Q!w10`2i@p`E2zXFY+do8nA88K+I{h
zQjiJthm#)}vb?adbuRSveq@SLo$$t%oIwc}4YL?kDapzfTCPa7U$|s0Yc;C1&swvi
z`^QanWeneykdaNJpvsc~gxSz&aj2;^;#?MY{k#0TJXUMwvs5p|kHp3!{vQ)!y@}{8
zBDOoNfZNai?(9GFDMq5ZuDY@DPP9>@Zm)s=j~hln{au1YKT2kwEYi82rhpfElequV
zx(`m3ef!zGsbcudQ&gJB^^Qf+q{quwOe?2b^Lt^>Yq87I1`6d`(~v+>*DhbGJd)Pt
z*)5)<8&B(M{{`+hs;81#WsiMq`rw)WIXSRaNy}OXW@Zhx5uSEm;>yZxiQJOcpLT;?
z%#D>(`31H4{ipDDu8k_0^#eBZ6SDO>r};FcgTpGXw}ozpSxYqI6cSdS^3P8%NvWiY
za1JD};u=>ypD(%;lu<?s>>>X{>VNDv>}JI3v0PU`*>cmW?Dm{JPU7ZN6?uPG<-`Co
zV2(6<3#qfTuzz;Cv-d0|l|vZzC5=9*1$(WjW)Voh(j-M-)!wZRS-5qI(SBh4Wm1TE
zBJ#dWIA}C&jKX>nWp-4K>GuA&)4l^P(XtiR98T7Ol`lrlZ??noqV~B9Xrd#q0Q3V<
zQgQGLyxXnJs-0~&abu5*dZ|AK3L#KN3xr6QRMgaT022-1lC6SkSsjlsn;QGTIE39Y
zQacs+pHbR$2!zYrC+ENLTaA{kbqP_OsB}R*i+>SS2R!9M;iUqw?MEcr3ZhO~e_CkC
zlaTJR2IvXT6d-0{R<}ClGTR0g0<BYj3xRN2vMx_kcY&^|pt__<{%VG=SAB&T$^jdw
zDic2UuI#=ia_X6{Nh@^gCgNZP&w<$_H(1!uBdKpy!i1ipED15%ruPbH{Hi<PT9M5-
z4{eJfjV6E5y9C-Ae;QO#=&3ZLy=$zgUZv1rK(PTt5HTjtuA5ZvX~X9oPO2ztPkYgs
z)Y$P|o>s-`Xb(G(kI?jC=?#!R<rsm42nhe(nr96&CgM|se;GpHiy?pPd=QTZQBiNj
zO(!GfXKMZ>#XpUe^L^Rspl9mN09aF#(1T6>^w9T@htr~=W1Ej=&qP7?R<U1Vr=xL#
zy3dV~)Nv>253S`ZuM+8TwxDzAzBju+dJyi)V6wmcAWYPcXVwIMKyS-yr?D!BB!r7Z
z+tFC-FfA$|GzSRV^)yR}fM?zdE;iSUBYg(&SGuTiPo5QHGlWIH7AIQj0^rR)JD&v1
zF+7HM_~PKe*NaA&QqYR-M*T983snH|vzMEXL1+o3`KJ(g7*n%E5=)KVmyD9lj3?#R
zd-ejxuWj<IoTA3$TO%Z?2=iU=8mNYo?`CQGefjU7KeRk4S{<{iHJCBrh!N1#`YTXG
z6>Az4s2{11uKzwi1#={3?gPIJ%*-w*`VM#=CbesuhH+Xev>v9ig$mQO+@l>Q$Vs1q
z&JFAl)CU8@MP=G`Mn4VOK5JPnM`;NJYLaP0Veq2z8VgC5D4A-Ivxg(g9Vq)Zbl;6}
zmY%Yf@e%B0nbME7-$waIqz{7=nw$uDTufsI^H@gK&+tE5GqJ~3%@hsz5O`@Xax$gf
zv#`!(wgf>74LX|M&z}w<@j|<d^exZwuUizfm;=8_`@ftZu3w5`rT;k&T&^`%MEB|F
ziWP7DBR4N@pH5Bc!>+e4%c|%8avB8#uNW9#UJ3k98neF6iFl|^&+{QQ?Hjf~Eje`{
zmBqHlV}Jm+e_>?i_7{>D`?)AaEAr@<uEx(^JfQ{KlQA9Kf@RQEk}8+e;Q#}=qE&@6
z`#smZAzkSQ(7>+<S50n<6(c1UV3A1(3nlMKcj&pLZ+CS5WfR=&<@3h&$BNo|fPrCD
z{!^)NF?@)~Ab&5aX|D-;4WR&YU3uN;eLT8x7dSs<BkwZm`nA2ju8CZ+rL!;)Sr%Z9
zsC=IAgIFAb;}=!reLwJTAr@X!O`o;f*Tot<#A@Boz+(8*(?;q3uGvjC$8MR#y7335
z3h_4p$CIma>4`2L>Gy-%mQ=w`K8;4x?g=ORvo^JYr9{z39&4UreOt$&V&&DOJ4ZuB
zwf`+fSiR7bYr*+M<vQfq4I}2c#&X5{0UJriYU;alj<=NTxi{1zmek&7MX)Lr|L;A=
z(>Y3^7w=`gMnZ-523BJo6?W!i*N1Y33fD!w3`Q&R2<y2XJK4hA`U*|Vs{Pkxe0#<j
z<pzx$H;GX;2p30R8w3cp`Q^oqXg%734ocMlX$`PwvD-+((TFfBVJrtu47iDrqF?)C
zZdRYu-NIeCL_X0dcv2X`PcCKN2^_Zb)4Y#zU%(qgX>Mh7=AkOei=20S!q#$Gv_#fq
zL{v?c$XEc|uJfWMwzBDNB1bWuY#5<Y>l$Qj#J!VFpxQ@Va6m_}deTJ6!JV8&j^$5l
z65pcRc$E)_fMI7!3vZs8_c6*CS`BH$(^@F(XiUvrGr`;WXc!+;2VaBx`*cM7e*Q(f
zg_g|U=NdtR2zYQF=y==}SI5q@CR_MP?ekEe--97fq+y7{fzwZ$7ZLMd_CGC<fS#P{
z?rK{60QRfH!@;#&ryN&e+I{J&yCHUSX}0nkNqu~Z-)6vs7$(NTXy7?tSjtSxSc|m#
z+QidLKR=(>-Im<iU=x1bo?P>AzT~C)Zkeols7ic%Kn+wU>yG3x|I<fxDc2B6z3=~7
zs91%)MoI4N*HtEv%0xu<+;=&30mGrW8F@AY!{k6d=$4UnQa*SqZ#R5Z<F2LDyPux!
zdkhVPpeOPeM}L8-6$d2aqO|?sc<PIgXPh^H;Fl}3aP5L?&H*QTqf>q07=NFXCJ<sk
zC^=s^U&Yj;Z18Dz#tb+v1Y)c0R*@GiL8BX7mJG@CpBq2{wx4`y!eE0*=;qrd?&#C~
zq_Rc^%JrJ-$0{GOxZ{y~M9Xak{w)8Zj>nOsslF)XG|>cm24r&0DPI)ecd6k>-1yi^
zQ%D@<){tb)V*OQX)%Ls(IVnB`=~2%fMC}V`C+l*$%(&SSbM9qaRa5z!Z2B=a&Dt6I
z26O>Wg!s?Mn{Oe+O*(-w35~2L$qPwRwjSUq8`&Ke20p}D>uw@f@klMMRfCsDBM#cw
zNbZTR*^QJBrvW>lY)<8IXz6<BJD6gPs6^7co>X1M3hLm5JFS1=<DU>UJ$RpgZi1HA
zucmnSi~Md0b0@SkX0Yez$ou0+;Q-5oQ^)I-Vd$bQU8HIJp^#ng(|2u7wyHYtw5x#w
zmVJn!`5n85!<PCG-D|olnjBmo&ZL$y-?N^@e@{%U3U2?pkd|9A^~r%r<Wsl?MgBf%
zxa~Kj5|s7SgR+}OQfluqB$9keis1TA`=Kw&{t>45y&?vQBLXEakPSjljV(U*r8@6k
z#T|oZH_r5<<a~R^dkPLub1~bkx_M{DV4cYRcK5!hpTC5}dLsk5pJbfMXm^(F2D-Q&
z>$HHkujzG=Q#7#k6I%{M9JK;ync9I`5b-ru;+R^wV`K5QN{=P`PDQY3xQyGW?#}%?
z=`3o9P!V-U4^bH;Z?>7ti+v@Q$uBKv>6^GOmE9HPyp8+X_hYN%EW8UF)j_5W!)cFN
z=Dy}tdpF<YK*(DK3;P!XkYPY$&p?Q1G~<q=Pdxw*(MDlj4>201!ziGjZ+*3{yEAp7
zi9Slr^uNwwpd=h7scE$2qFZ9FD#U%E(G~9|9@Gj;ghqy$rClhOJy1iG#fozFoH}S2
zmoUjA!I~z7ICCUv7B3uI75s9)`^v!z>1Bjd*&tlwod-hxU&FG)>*EJPW|`j&m|*dn
zqp47jxm82`K~(0?eXSXk&HODxulMLQbC!-|^rr(OcPz)<cQ5`KY-<LW;9CFp-7T-3
z?d{xe54!*-8fLU9pS(iUrw>B&*=Ahmdz%J-pz3vU8SfDdV0@XF%Z$&TH>#ljh|S+I
z!3szIR(|^>E<Px4D6J!{Vfm{b;9b|!HI5D(0TXJT71=D{-DL!Eawhw(G$!7;3gy9v
zq0?ul4q_5q)T#wizdQAoHCN8yaxcos{{5VmXo?A(jhDP=z(MS2#w%98kIJFMcIsC3
z^%pUHS=G>IDlT*u3Qi`<K(W`1w1^6KupZnjn$@mVbotLh)cs-1Y4JY#VoY%vAr)%6
zR0Ar_tC!FM4&5a%8ibn6dT1XNkIydei^`5v+wRohDxSklvV(uwF!7kQJHZlrV!^qU
zgq;W5JiSSIut6ala%)cm{`uU87;+o8)`#DcN?2urjokPiDr9I+j1)q*8-SuTG4N_!
zyR6Q}AJ=PJvOnHz#(${S^^T9rW<yc9*38ub*q@ff5k(kvswDqzt;7J}U@(MYbo*ry
zSL(miZ!+OH+K3mbxOxD@@5AL2kS!Mx?q&bx+$rebuf^g3?O15z$mqyLM3)aylcnO9
zAOSkHf%SywON~R!1+D?XdY&Nox@+W{40Y*A#p`tNO9Lf<0Y;;(UKS7??}zHSGX4u3
zdfk(;Ifw+3Tjk#+!({Kj!g8d%|M#Y_I}05#gD7?10`mF+&>G|Y=l{IF{rKS-A5Y+$
z3_w7GvHRm<?&xJdn_-}k$k&v7t73IJiNmBnNmhyf&NvtAGrLxw7q#(T(noc>pQ<4@
z@j3I0Z7g+m8)EUw(9fi+4j>rGooXwLf@L8@NpnX|#D7=EExZenK3t<|4f^3;R>|@E
z?Sq|x)1>>bAm7dVZ6N1dnDg}|@QYtBi{Iq_uqX0ZFqZX&+pU?U;e<+8HK~$>sH}ZH
za1Sg~SkrYi$2Hpq{Lk~<sn-qiu^?EEEAMCI5GrYMs|$Mt9);-vfX!fkl?(g6J+<0j
za<A`7^Kre-5O}pL;fb_2QCA4T_Pl^2OPjMUaTAAiFEog>#@B2g6!Tn70PAgw4h%=+
z)KLqUNeR8l&CXGA@Y>6xll^=Li@14B0BxYeNT^xxO?!Dxt!S1xeAQ}T(*`le1#s0G
z3?b&4p%?D8tI2VtE$P#g;_u#c<oSMbTk68qHrT-7XQ)np6Q{B9jHT5jx++!G12_rM
z&8P_W?zvIcP@RbW^dA%G4-@fsM8h-A_D?$<!R+aG?JzRw?5`fW^ey^1DB2h2*2~=w
zHFc<qQB$j0iE~BFsB%yfuXC;aP8T^ouOkN3`G>*k)yNNEUcLLbaQ+r}^S<3k)sh;H
zz40V@43Y~aQ_|hzTE$>8$%5bV{<)&5WU6e|+R@>~?6E}zw)e1kJct0LNink~_PR0%
z%lJ1SZVjf3sJZyMz*4P7uc~iKvC|&GA(_O^p@j=Q6~a$rq`ojp(wR}#)ls9UB^{wj
z1~;-o-#vwnyO>5qcW|Y1Rk_OeEp9!~kj$t*Ut938&Xvwfq*=Y;pM5?QFs$CtB3s!}
zCnAI^flVDxwjC&#D*rQiKA@bDqvIg6oy{g#uYtEjn{YjUV0UVAV!#Uf^A!ko*__=|
zBBb0CuiHfl;?a*x7~VtxwnlzzIFe>lQo?0+$MRmER5J9Itqwi>;ny_eLsT%7=zF8}
zAW{CgnTz8TdhshBZ8Kl*DN|o&J3Kl@Ky%E1Uo*TZK8gs)SZDQbOG@}2<oGW;@R!zY
z%!0QLrxxi5t%|%CWwp;lB9tjaY_~OyD3=*F7&VUux+5F#drXTDw;P4UgJacHYK0WX
zQbXnhqf&g%YQ+B@INY>$iWBi07McO4TOGp_ydnVvlkoW;Z-19vGvh>TeE`D2Vs^2X
zc119+_VdDaf9Ma*5ga<V?b0h8<bKY~#+Z!s2szz;;xaIAIhkySI2on2tEAEjHzfWq
z*%b4OyImFdjkQe2E`rPyZVR3oJ?IE7tyuMiaMovXIpk)uv9r?^da-9fIkhAL=hmv)
z9loerMN%m&)Jjl_MYw*eBhl3f33WO9QFEe)*l4e>G{rv#>fROao@^9g2@JQM2?nsB
z+#+umF?^4CA)Ooh99H3JQE$FpD<1;NZ!PCwnBF&QuTe*+Tb#X}0rz;;U{85goLpSy
z>to)hch}u}>E>tyQLEwt2{no-Qx{(w4-hMcEh8ugwExth<wwMDfegq#zT({gqG=Wk
zReqJk!<y&xLZMaH5!A(b+m?cLkdTZa3j1QH6jj~08seOQ{m#R98QM+q15UC$hrx>=
zyW$B_GncVt&2#koY4y{E^Lg12kO9-1>?iyPxKjI}-afsj|6!^r<{aR>I*b^6B>v6G
z0UVFoQ<WvdPJi=Z-a|sDzfIbTZ;bZaJ%C#^=a>bbvEuqh0}xB+RN$*C4?dcc7WIS)
z4C2Bz=<~mf<^p!<mDRH<)bt-JzuK2(q`zxy1i|m4X^fjjFYypfg}@_NSA(JaD0h77
z2-NuA-6n~NT&uDpkn#nYRlh~XP#`Y@rPlB{cRc#h47lX522;$Do}|kI?cg&0Y1fCk
zQe#2dH>1cMRV1#}ejza%0>6I)cl5$hvG#B>vNilRSh2plL<aXE8>LoYdP;>GwLyGJ
zx)U!%!}%{rgm{3BhAPp+kE7m23fYu5ZJqOX^PXuyT^jiZ3P*9+$^ar<5LaSKWA`;R
zo^XY0Le}zU&%a_Q?VBKY-d*ysB-nYUQrV?T<4UhVGlr$K8eJOGBd=ue%4${EhJ;4e
zLAa+a+)TjAMjMqvFY6)cR0C6>qQg^qjjvw`n2d%E{Pcs7ZB)<EF^sfp7Ut>1@(gyg
zii$|>d=W_xMOB4>$oqfY6jQBhN$*u)%ZMy<r7Mj96c7r`U1!tvw6-8WkL2mUp)_UY
zX{=wUfeN0Gh;Qcx0$0=^N$MqtW*FogC@p|UY&tKF<}cLK7OYk?O6xp777c=ZSfK`(
z=IE7EHUc&m_HZ-@?=yPu8D{38n+};^RH@TXNSef}hBqlu*JQILo!sKBQbxK}Q6Z=u
zum8p-!_vewL=*qyK)2_Xv=wl!i=)rd%D)NW^jBY+`nXaE37opDx^#e*?~(ZnFn0sm
zc2+FbPVq2n1d?xZBsEY6mMDg{F!e`xv1G!Sj06CP4Mc>CBShl;_JYrv_rngsZ;1i(
z^#j)D|J+)yMS9eY3y$G2NYLX!zEOO^)cdY}Y{Nr8I_4`GW3A791fK#&kuH~IicCe1
z%rvX9ORfkO+}{AiOfFh4)U?Kbt7L9gx$Nre+-rY_v+xzORT0=?mJc5aKhH!XMhNJY
z;J>bjzXUXG;W-c__ZaMGL}OBCGC$MBr$)_r+wR;)s=Ol=WPjYXF)@?DhvX&F{(QSQ
z8mLm{ho}8Zl~ns8QjonS$FvsS`JcgHVFSj31JMj0d~!6<#Ws0VLAqf7-Gp%rm>R_~
zd@pIh%ru~O3wkU1DRQ9UK3T7?XwMuNQS!Bn7Umo{AC7?wsUntq-gf^WpxHV-EE4Z!
z2?j+&zfXdpwh+$3J^zc_RzF>5w!OzReBT~k>%2Q)-6~I2jyan?hG9D9DfMd_pcKz6
z8w~CWzcTAH)u5&cj&G|DFYX8C-{w_VFPsYS;<=DbuWc|@VAijbhQ!X)*xhcm+FJh}
z6C;{gVYo3^nPUBin|H2LGQ`C({dM2~eNm~%pPA810>mG=e>;EGaCq?b`H!5}<s#BX
z$az4noF{~G_<8;7FKHA=%OdmiS_fh`xg13~T^g_}?^*}_Xbs7$?H#a+{xy1V1CDJ6
zrfeYW6&J(>meNP`q57s!JY4Ci1HD}c4?Ofv0#j8VE5E50pUpP6>GdoLCCY2}MmKDd
zP5UYyZ5XTZ7~h+&T{QXKCeD|YW4F7ywvdr-H=MS_h`W5W{_nCiB*9{JdkpRw4Wub`
z$_2Xn{uCy*zgje?S$iP-@Eph`5=a%<X1waDdRQ!s=}1*!PgGdBx1vB8`o;x|014k3
z3x~sQ*l?=C!um$NhQ1P~>*qpmJk=B~@^AgtHfxWdyVC0@Y`2Z{TfcbJiHosr{HCD@
z;(GwGCv1Uz4}Sy;njnw>49e!&Y8Az^pK#Vl((^l<c5hF9|3R)0YiVjP-fSrvb=Ck_
zL|wMk3PXcYRb~KjU)cP!TOy2JFkVya(hO7oD^+4rMIpRpJ`RKz>225L@2tULv2Y8!
z8GZ>Ag>D<B@ssM-h@6pf>QIxG{qwi4s=`5d#a?pz7wp1+I{nG4&3Z?zc^QjGgSHHb
z+j)@|V?ck3ElnyM`%#FT)l|7xf$K(kU|a>|qb_rJQ4sGRMV487egN@rH1OGqUQioZ
z-rwby9Rvy4g0K^!$PPRqAuP)2jdqAJ7WP#H%GUQR01@ue=q1JQd2{MotiZgv&-r>K
zYX}Hm`T3fb6zV6#8gr*aBoO4iIJz+>7B5c>K7!Trp`rv9%P^W%B|(3`Tn9k-#iyL#
zAGRL4X<G+gWK)mX{hYu@Q0-KV=b2~v8e9??p$P+Gq$;<Mnw+TAMGQ!}cfr=UH*BA3
zt&>(YJzhtbbw(~K_wf8Lhv{6sL>k)q9O!8pZ*wkI2(A8^Jvy7h;am}3!V_Z7Y8iM7
z6I$x&sBwI-CuprUR^6tr5`(m)%LqCpV4LBU7tOZ}6=d{>czwfMV+AZ+eBPKYhsuW}
zIQI}2hdbdI)EVLIpI#?ho;`Cl`xA%Og;k6MUB1>2UdFoz71+-42$TcyBe#H6>yKn5
z>|aeSnrCbF#N~HcS3|>D!ym1bj=>)?jHkQU^9d!f<^B10xTD2mry!`3kskR_ANx^6
zeh`L}6=(2MEtF%<%clK_6QD9d85<O(AgCAg|8qh_WSr1=eFf_9lpnxruT+Ev0^8`d
zeWRQ-GxkNRA;wR)WRSYen9c1c3@A<2{wzpjiVC`4=4CBf=9xPs0CJyCRR5@QDQGS8
z8N4Bj)H;k{f5v%^<(s2NtLb0sH}~u1>)j1N3_nBxl47LyPfyKs1jZ7<MsrI6S1Syj
z4Gy7R!ytGD8j>xd(v{#scAuWT!h(bjv<%i7=B$>rHb$1g?0*T^3;Sk=$TrplbT&Ua
zTivTN_09hORzD%!qOZhzMqbS-^Ih!lVdus2>mNFdJ+z}Y(qr2g=+U$WMF#du0%)L?
z8y9yDoMqY62lTAJ$mI`5B#I4lc|Xb*q~Wv++O1|7_%;a;{A)uL*XTW74ddrT)E!=P
z3<zcm^k)}jgo+;o1o8X`KyYiG1rR%*W}2}0#TNR8^8Yc)W~OVndJH+6=x5xR*Yvxc
zWM`rc2cA1Bdo#jIIgIVW;;fci1BVH^qUQk0_fyk;;mwr&s9sOKN~M&H21-Op5=hxN
zwwKG=Y^joho&md6AVLo>O=}Qm&4|rG?r^^lu85~>+(x-A-s1Va8uTf1Dv`3^WZSIV
z?eUk%G<V~fqW>}=K@=?%YXod=(}?naZ(tLBPb9Bydb-QyP>}UM^Kk#e`tGKo?lo_P
zNI4d!$}S$g$q;39U$v$(wdjLW`kcnWlk^lke9gVREQ*DyRs0jZ{X5EGL7M_!nEfJt
zm6XhP$7nb6i05<GbK8EUP`}hG;TCi>rbK!Gjuw8jA&a=BKn6eT=LXH7lc5H~HncEf
zn1DUDswP2o;yxx9|Fl@og^mMyB;EhAg~q`HKJiYjF^f|(QrOo?WF@RMY?Y(6buS6n
z8*E3gZJ2<g*rc8I%IaLQWRrRGTh~i}V)QmOXLm4DN#dXTE{=gQ(o**M3GLJG;MJRh
zzh=5KOY#G5yPD;gyWt~3dC(zzbjhU;X@07eO|%7)h+H9{70(dIx!$w($@E<jGo-53
zSg+H@7l~4azDxnv&aAL=p!50>><)*<L_<lxms_8A=|o96uN0CFVuXJS2}v-wjFV(2
z+NHeymdEybe>%usy2&hk5b9j;;l6+?FJ#+18~$m>0`cb+pGxA(LMa8clyOu1OB9#U
z|2tr-hX>q3&eq{c*JEaOZxpLZqA~~VpD8>poZ0kT8q9da;6dnN;cL+2@6J$XxTQEm
z%ksKhP`yXV-N?DtMx)LXfD$5NRUjs+)SPx>orfM2)%a;)QN>QmL8>L~2!^%0J(04A
zfN77gy@=s`cb-*h`Tn>1!E!pZ0#PoJT(VK#h~3_mj}RR}mMdH+UG&mT+50Bao!AYX
zW)8w+IwipN3{B%>3^GyYQGG8Y(gnG`m_9X|O}RK^qtT2GzWLc!^{#+y)B^^^&V<f+
z<EYuoDu@;mbGh0)bhYc#g6u!j7v(A9MA^G*w@y!;tR<7*ns{6W+dB*eaO@ef32Lop
z_nM?zc03jZn{`@z5dRn;1?i3L1HaIccJe3+2PsG0=scAAfN1$cdK;s%c6xBYH`D3T
zKNWI5<2mjizhha1ZV&qiQS+UZ`^>Y-?)SRvrv!74_1s_w0;KVwHDckh{!PnZ72)m)
zoZTi^<<6sSZ3u@1Q~u!+SXt|FpUu35>{)9csx<uLrlU4t_{RY%TQ2U-<uMOEb5yRK
z%5I2J?kgbG;jN{@`O)fM@3T*#KE|+#jW-898%(WV_j?*8P(I26<j>#e=Y%_M<meGS
z^8Wgq?i0r<_s#l>)25O2BhqVMH(r^Q{4I3J-B>=mNmgg~YG?cX=IH{cFx}F3?`Ws>
z*y{Bio^*LF#0aum+*x|(5?tC=l-)9`r%6^N6zQ=@Irh6XXv5-YCHd4UvA#L{4!gM{
z$%;Ac<G~>dVj`noLtKDK^$UuNY$=4NBA~I4PP5G>fe<L3+xq6>jR_!?4hXZ^oVRpW
zOo<8H;)ResQp-JKkx6fIP`Nxs>)+jdu<PACIzAdGeC~q%NlhxfoeU<MOPOd)(-ghI
z<m*F-EGQFPke}`A&-Q+4ZI(MmR18b{E=2Z72ZQfo5~np3sr=Y2(R_BX(h=Zjzqt=N
zO6Pfyg}6-$QKccfjO(53rX4Fve;u==^2bNI)oMrc<0sRh`A6M#@7?u{o~iMZFXe$v
zv(wGA5(7R*k)j=uZnYU-*=_E>`Hpust2oZF)1zo_6N>V1{zBU-H)+#9ba8?+9V#MO
zI}R01dPwKySt2%9n`V+d!DMda(*0&odl*bVNO~v}D?Ncl4*eSlgjRm=aF?@u^_uG4
zch%hUJ%i{kG0C!u&IOJ|Yg#1&*{$6-Yu%<+-*9HcfMsaN>Jy#6NCfkIH#x|3iDNsF
z?64bEGZ2)vyqlz<@Q{qGK4-$F=tJJrR1Yt;*!`?g?T1-2F(hC1zDSq8+qPh`f8s#2
z0JnJ4fvghnY;<tKU2?QzhItj#?6#R;o&nL|Azyk6bl2rxNb^+xC}811@+_ygXP%@g
z&lbzr`aBVyx_!IwuDft#%6*o-Lprkj#3#7BWBtA3&1JmRh9I87wedH?>IE(?^(0Jr
zW$k?3+kS3b^q2la+~*j61O=Fe>}38tT}-T;_n_#`&<lmZBO_I3EI=eFmmftLKQmIE
z<o2Q@o4bHIlY~pdk&e8TC)dc#nUFd~65_+QnKWcC&A}6CgfDh=m+o%fydn=N$g+Va
zd)S=R;z7AN`$%50c68q|+_^I2-k{7{jyl=9Y6^`a3@#)5MW&Ob=EIpxGBUo+fg1PB
zRx|CHOfgAh78%(MDh+dX@1hAOCrNCU&wa$BbN)}KAIMc0$zJXcrP%*`HJMqJcyBr0
zeNtQY<Lat!rh?il^C{L-=`s_t_S3=f4+3({oyLNllDULDDJRZ7!^EgNPTW!#M<V@|
z>b8OMH_1+Zjd&Jjmg{{!bXfjhaZ|%L2h3?Eh%BG!o_29jV8Yi7CvVc>?{A>RI}~KJ
zYNeZg?jO7yT}y-#Qv@_1<YWM)`-k!adsnBNvQ%-G&92AikUpkhvL!#+*DlvMs6+JM
z7)#<MCutvly*@i?+8F)%Wu#_J6<leb(0|)fYv;x`_2?j*&boxTe(YkMhs2-8vUT(|
zvd0HJ*^Su<ym!?1A6fO!B=-F2Q54eR*T~5(ra_u=t+7%P`4wm4{+^p93>wqZ1_w{s
v$;tlq)7+l8=YHVKX%((P^)Nv#UqseU>(kh2CF+VkGBOQSohKE_&x8LD1RkCW
new file mode 100644
index 0000000000000000000000000000000000000000..3df8150efdfe32e9820e40b46116191fe8b7da98
GIT binary patch
literal 30325
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%0D)qFViSg
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
Ye?GS?AjwgJjsO4v07*qoM6N<$f_AV*a{vGU
new file mode 100644
index 0000000000000000000000000000000000000000..00905ab07306e8d42c24d5f79f0b01112e4a7c32
GIT binary patch
literal 23038
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
R)EWQ)002ovPDHLkV1mBendSfh
new file mode 100644
index 0000000000000000000000000000000000000000..1408dbd8cbc52b9b651c854f44783450d0144797
GIT binary patch
literal 16105
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
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/data/content/assets/sync-devices.svg
@@ -0,0 +1,45 @@
+<svg viewBox="0 0 201.1 102.5" xmlns="http://www.w3.org/2000/svg">
+  <style>
+    .st0{fill:#eaeaee}.st2{fill:#fff}.st3{fill:#90e8f0}
+  </style>
+  <g id="RingRightInner">
+    <path class="st0" d="M142.1 93.3c-3 0-5.9-.3-8.8-.9-.3-.1-.4-.3-.4-.6.1-.3.3-.4.6-.4 2.8.6 5.6.9 8.5.9.7 0 1.5 0 2.2-.1.3 0 .5.2.5.4 0 .3-.2.5-.5.5-.7.2-1.4.2-2.1.2zm8.6-.9c-.3 0-.5-.2-.5-.5 0-.2.2-.4.4-.5.7-.1 1.4-.3 2.1-.5.3-.1.5.1.6.4.1.3-.1.5-.4.6-.7.2-1.4.4-2.1.5h-.1zm6.2-1.8c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5 2.7-1 5.2-2.3 7.6-3.9.2-.2.5-.1.7.1s.1.5-.1.7c-2.5 1.6-5.1 2.9-7.8 4-.1.1-.1.1-.2.1zm-31.8-.8h-.2c-2.7-1.2-5.2-2.7-7.6-4.4-.2-.2-.3-.5-.1-.7.2-.2.5-.3.7-.1 2.3 1.7 4.8 3.1 7.4 4.3.3.1.4.4.3.7-.1 0-.3.2-.5.2zm-10.9-7.1c-.1 0-.2 0-.3-.1-.5-.5-1.1-1-1.6-1.5-.2-.2-.2-.5 0-.7.2-.2.5-.2.7 0 .5.5 1 1 1.6 1.5.2.2.2.5 0 .7-.1 0-.2.1-.4.1zm57.2-1.6c-.3 0-.5-.2-.5-.5 0-.1.1-.3.1-.4 2.5-2.5 4.7-5.4 6.5-8.5.1-.2.4-.3.7-.2.2.1.3.4.2.7-1.8 3.2-4.1 6.1-6.7 8.7 0 .2-.2.2-.3.2zm-63-4.9c-.2 0-.3-.1-.4-.2-2.2-3-3.9-6.2-5.3-9.6-.1-.3 0-.5.3-.6s.5 0 .6.3c1.3 3.3 3 6.5 5.1 9.4.2.2.1.5-.1.7h-.2zm72.4-9.5c-.3 0-.5-.2-.5-.5V66c.3-.7.5-1.3.7-2 .1-.3.4-.4.6-.3.3.1.4.4.3.6-.2.7-.5 1.4-.7 2.1 0 .1-.2.3-.4.3zm1.9-6.3h-.1c-.3-.1-.4-.3-.4-.6.6-2.8.9-5.7.9-8.5v-.2c0-.3.2-.5.5-.5s.5.2.5.5v.2c0 2.9-.3 5.9-.9 8.7-.1.2-.3.4-.5.4zM101 58.3c-.2 0-.5-.2-.5-.4-.3-2.2-.5-4.4-.5-6.7 0-.7 0-1.4.1-2.1 0-.3.2-.5.5-.5s.5.2.5.5c0 .7-.1 1.4-.1 2.1 0 2.2.2 4.4.5 6.5 0 .3-.2.6-.5.6zm82.3-11c-.3 0-.5-.2-.5-.4-.3-2.9-.9-5.7-1.8-8.4-.1-.3.1-.5.3-.6s.5.1.6.3c.9 2.8 1.5 5.7 1.9 8.6 0 .2-.2.4-.5.5.1 0 .1 0 0 0 .1 0 0 0 0 0zm-82.4-2c-.3 0-.5-.3-.5-.6.1-.7.2-1.5.4-2.2.1-.3.3-.4.6-.4.3.1.4.3.4.6-.1.7-.3 1.4-.4 2.1 0 .4-.2.5-.5.5zm2.3-8.4c-.3 0-.5-.2-.5-.5v-.2c1.3-3.4 3.1-6.7 5.2-9.7.2-.2.5-.3.7-.1s.3.5.1.7c-2.1 2.9-3.8 6.1-5.1 9.4 0 .3-.2.4-.4.4zm74.7-6.1c-.2 0-.3-.1-.4-.2-1.8-3.1-4-5.9-6.6-8.5-.2-.2-.2-.5 0-.7.2-.2.5-.2.7 0 2.6 2.6 4.9 5.5 6.7 8.7.1.2.1.5-.2.7h-.2zm-63.8-9.9c-.3 0-.5-.2-.5-.5 0-.1.1-.3.2-.4 2.2-2 4.6-3.7 7.1-5.2.2-.1.5-.1.7.2s.1.5-.2.7c-2.5 1.4-4.8 3.1-6.9 5.1-.1.1-.3.1-.4.1zm52.2-2.8c-.1 0-.2 0-.3-.1l-1.8-1.2c-.2-.1-.3-.5-.1-.7.1-.2.5-.3.7-.1l1.8 1.2c.2.2.3.5.1.7-.1.1-.2.2-.4.2zm-5.6-3.4c-.1 0-.2 0-.2-.1-2.6-1.3-5.2-2.3-8-3.1-.3-.1-.4-.3-.4-.6.1-.3.3-.4.6-.4 2.8.8 5.6 1.8 8.2 3.1.2.1.3.4.2.7 0 .3-.2.4-.4.4zm-35.7-.9c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5.7-.3 1.3-.6 2-.8.3-.1.5 0 .6.3.1.3 0 .5-.3.6-.7.3-1.3.5-2 .8 0 .1 0 .1-.1.1zm8.2-2.7c-.3 0-.5-.2-.5-.5 0-.2.2-.4.4-.5 3.6-.8 7.3-1.1 10.9-.9.3 0 .5.2.5.5s-.2.5-.5.5c-3.6-.2-7.2.1-10.7.9h-.1z"/>
+    <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 142 51" to="-360 142 51" dur="10s" repeatCount="indefinite"/>
+  </g>
+  <g id="RingLeftInner">
+    <path class="st0" d="M62.8 93.3c-3 0-5.9-.3-8.8-.9-.3-.1-.4-.3-.4-.6.1-.3.3-.4.6-.4 2.8.6 5.6.9 8.5.9.7 0 1.5 0 2.2-.1.3 0 .5.2.5.4 0 .3-.2.5-.5.5-.6.2-1.3.2-2.1.2zm8.6-.9c-.3 0-.5-.2-.5-.5 0-.2.2-.4.4-.5.7-.1 1.4-.3 2.1-.5.3-.1.5.1.6.4.1.3-.1.5-.4.6-.7.2-1.4.4-2.1.5h-.1zm6.3-1.8c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5 2.7-1 5.2-2.3 7.6-3.9.2-.2.5-.1.7.1s.1.5-.1.7c-2.5 1.6-5.1 2.9-7.8 4-.1.1-.2.1-.2.1zm-31.8-.8h-.2c-2.7-1.2-5.2-2.7-7.6-4.4-.2-.2-.3-.5-.1-.7.2-.2.5-.3.7-.1 2.3 1.7 4.8 3.1 7.4 4.3.3.1.4.4.3.7-.1 0-.3.2-.5.2zM35 82.7c-.1 0-.2 0-.3-.1-.5-.5-1.1-1-1.6-1.5-.2-.2-.2-.5 0-.7.2-.2.5-.2.7 0 .5.5 1 1 1.6 1.5.2.2.2.5 0 .7-.1 0-.3.1-.4.1zm57.2-1.6c-.3 0-.5-.2-.5-.5 0-.1.1-.3.1-.4 2.5-2.5 4.7-5.4 6.5-8.5.1-.2.4-.3.7-.2.2.1.3.4.2.7-1.8 3.2-4.1 6.1-6.7 8.7-.1.2-.2.2-.3.2zm-63-4.9c-.2 0-.3-.1-.4-.2-2.2-3-3.9-6.2-5.3-9.6-.1-.3 0-.5.3-.6s.5 0 .6.3c1.3 3.3 3 6.5 5.1 9.4.2.2.1.5-.1.7h-.2zm72.4-9.5c-.3 0-.5-.2-.5-.5V66c.3-.7.5-1.3.7-2 .1-.3.4-.4.6-.3.3.1.4.4.3.6-.2.7-.5 1.4-.7 2.1 0 .1-.2.3-.4.3zm1.8-6.3h-.1c-.3-.1-.4-.3-.4-.6.6-2.8.9-5.7.9-8.5v-.2c0-.3.2-.5.5-.5s.5.2.5.5v.2c0 2.9-.3 5.9-.9 8.7 0 .2-.2.4-.5.4zm-81.7-2.1c-.2 0-.5-.2-.5-.4-.3-2.2-.5-4.4-.5-6.7 0-.7 0-1.4.1-2.1 0-.3.2-.5.5-.5s.5.2.5.5c0 .7-.1 1.4-.1 2.1 0 2.2.2 4.4.5 6.5.1.3-.1.6-.5.6.1 0 0 0 0 0zm82.4-11c-.3 0-.5-.2-.5-.4-.3-2.9-.9-5.7-1.8-8.4-.1-.3.1-.5.3-.6s.5.1.6.3c.9 2.8 1.5 5.7 1.9 8.6 0 .2-.2.4-.5.5zm-82.4-2s-.1 0 0 0c-.3 0-.5-.3-.5-.6.1-.7.2-1.5.4-2.2.1-.3.3-.4.6-.4.3.1.4.3.4.6-.1.7-.3 1.4-.4 2.1 0 .4-.3.5-.5.5zm2.2-8.4c-.3 0-.5-.2-.5-.5v-.2c1.3-3.4 3.1-6.7 5.2-9.7.2-.2.5-.3.7-.1s.3.5.1.7c-2.1 2.9-3.8 6.1-5.1 9.4 0 .3-.2.4-.4.4zm74.8-6.1c-.2 0-.3-.1-.4-.2-1.8-3.1-4-5.9-6.6-8.5-.2-.2-.2-.5 0-.7.2-.2.5-.2.7 0 2.6 2.6 4.9 5.5 6.7 8.7.1.2.1.5-.2.7h-.2zm-63.8-9.9c-.3 0-.5-.2-.5-.5 0-.1.1-.3.2-.4 2.2-2 4.6-3.7 7.1-5.2.2-.1.5-.1.7.2s.1.5-.2.7c-2.5 1.4-4.8 3.1-6.9 5.1-.2.1-.3.1-.4.1zm52.2-2.8c-.1 0-.2 0-.3-.1L85 16.8c-.2-.1-.3-.5-.1-.7.1-.2.5-.3.7-.1l1.8 1.2c.2.2.3.5.1.7-.1.1-.3.2-.4.2zm-5.6-3.4c-.1 0-.2 0-.2-.1-2.6-1.3-5.2-2.3-8-3.1-.3-.1-.4-.3-.4-.6.1-.3.3-.4.6-.4 2.8.8 5.6 1.8 8.2 3.1.2.1.3.4.2.7 0 .3-.2.4-.4.4zm-35.7-.9c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5.7-.3 1.3-.6 2-.8.3-.1.5 0 .6.3.1.3 0 .5-.3.6-.7.3-1.3.5-2 .8 0 .1-.1.1-.1.1zm8.2-2.7c-.3 0-.5-.2-.5-.5 0-.2.2-.4.4-.5 3.6-.8 7.3-1.1 10.9-.9.3 0 .5.2.5.5s-.2.5-.5.5c-3.6-.2-7.2.1-10.7.9H54z"/>
+    <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 62 51" to="360 62 51" dur="10s" repeatCount="indefinite"/>
+  </g>
+  <g id="RingLeftOuter">
+    <path class="st0" d="M62.6 102.5c-.9 0-1.7 0-2.6-.1-.3 0-.5-.2-.5-.5s.3-.5.5-.5c3.8.2 7.6 0 11.3-.7.3 0 .5.1.6.4 0 .3-.1.5-.4.6-2.9.5-5.9.8-8.9.8zm-10.1-1h-.1c-.9-.2-1.9-.4-2.8-.7-.3-.1-.4-.3-.4-.6s.3-.4.6-.4c.9.2 1.8.5 2.8.6.3.1.4.3.4.6-.1.3-.3.5-.5.5zM46 99.7h-.2l-.9-.3c-.3-.1-.4-.4-.3-.6s.4-.4.6-.3l.9.3c.3.1.4.4.3.6 0 .2-.2.3-.4.3zm33.8-.2c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5l.9-.3c.3-.1.5 0 .6.3s0 .5-.3.6l-.9.3c0 .1 0 .1-.1.1zm4.4-1.8c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5.9-.4 1.7-.8 2.5-1.3.2-.1.5 0 .7.2s0 .5-.2.7c-.8.5-1.7.9-2.6 1.3 0 .1-.1.1-.2.1zm-46.9-2c-.1 0-.2 0-.2-.1-3.4-1.9-6.5-4.2-9.3-6.9-.2-.2-.2-.5 0-.7.2-.2.5-.2.7 0 2.8 2.6 5.8 4.8 9.1 6.7.2.1.3.4.2.7-.1.3-.3.4-.5.3zm55.9-3.4c-.3 0-.5-.2-.5-.5 0-.2.1-.3.2-.4 3-2.3 5.8-4.9 8.2-7.8.2-.2.5-.2.7-.1s.2.5.1.7c-2.5 3-5.3 5.6-8.4 8-.1 0-.2.1-.3.1zm-70.3-9c-.2 0-.3-.1-.4-.2-.6-.7-1.2-1.5-1.7-2.3-.2-.2-.1-.5.1-.7.2-.2.5-.1.7.1.5.8 1.1 1.5 1.7 2.3.2.2.1.5-.1.7-.1.1-.2.1-.3.1zm-3.8-5.5c-.2 0-.3-.1-.4-.2-.2-.3-.3-.6-.5-.8-.1-.2-.1-.5.2-.7s.5-.1.7.2c.2.3.3.5.5.8.1.2.1.5-.2.7h-.3zm87.4-.5c-.3 0-.5-.2-.5-.5 0-.1 0-.2.1-.3.2-.3.3-.5.5-.8.1-.2.4-.3.7-.2.2.1.3.4.2.7-.2.3-.3.6-.5.8-.2.2-.3.3-.5.3zm2.2-4.2h-.2c-.3-.1-.4-.4-.2-.7.4-.9.8-1.7 1.1-2.6.1-.3.4-.4.7-.3.3.1.4.4.3.6-.4.9-.7 1.8-1.1 2.7-.2.2-.4.3-.6.3zM15 69.2c-.2 0-.4-.1-.5-.3-1.3-3.6-2.2-7.4-2.7-11.2 0-.3.2-.5.4-.6.3 0 .5.2.6.4.5 3.8 1.4 7.5 2.7 11 .1.3 0 .5-.3.6-.1.1-.2.1-.2.1zm97.1-6.1h-.1c-.3-.1-.4-.3-.4-.6.8-3.7 1.3-7.5 1.3-11.3V51c0-.3.2-.5.5-.5s.5.2.5.5v.2c0 3.9-.4 7.7-1.3 11.5-.1.3-.3.4-.5.4zM11.9 50.4c-.3 0-.5-.2-.5-.5 0-1 .1-1.9.2-2.9 0-.3.3-.5.5-.5.3 0 .5.3.5.5-.1.9-.1 1.9-.2 2.8 0 .4-.2.6-.5.6zm.6-6.6c-.4 0-.5-.3-.5-.6.1-.3.1-.6.2-1 0-.3.3-.5.6-.4s.5.3.4.6c-.1.3-.1.6-.2.9 0 .3-.2.5-.5.5zm100.1-.8c-.2 0-.5-.2-.5-.4-.1-.3-.1-.6-.2-.9-.1-.3.1-.5.4-.6s.5.1.6.4c.1.3.1.6.2 1 .1.2-.1.4-.5.5.1 0 .1 0 0 0 .1 0 .1 0 0 0zm-1-4.7c-.2 0-.4-.2-.5-.4-.2-.9-.5-1.8-.8-2.7-.1-.3.1-.5.3-.6.3-.1.5.1.6.3.3.9.6 1.8.8 2.8.1.3-.1.5-.4.6.1 0 0 0 0 0zm-96.7-3.8h-.2c-.3-.1-.4-.4-.3-.6 1.3-3.6 3-7.1 5.1-10.4.1-.2.5-.3.7-.1.2.1.3.5.1.7-2.1 3.2-3.8 6.6-5 10.2 0 .1-.2.2-.4.2zm92.9-6c-.2 0-.4-.1-.4-.3-1.7-3.4-3.9-6.5-6.3-9.4-.2-.2-.2-.5.1-.7s.5-.2.7.1c2.5 3 4.7 6.2 6.4 9.6.1.2 0 .5-.2.7h-.3zM24.6 18.1c-.3 0-.5-.2-.5-.5 0-.1 0-.2.1-.3.6-.7 1.3-1.4 2-2.1.2-.2.5-.2.7 0 .2.2.2.5 0 .7-.7.7-1.3 1.4-1.9 2.1-.1.1-.2.1-.4.1zm4.8-4.7c-.3 0-.5-.2-.5-.5 0-.1.1-.3.2-.4.2-.2.5-.4.7-.6.2-.2.5-.1.7.1.2.2.1.5-.1.7-.2.2-.5.4-.7.6-.1.1-.2.1-.3.1zm65.9-.5c-.1 0-.2 0-.3-.1-.2-.2-.5-.4-.7-.6-.3-.2-.3-.5-.1-.7s.5-.2.7-.1c.3.2.5.4.7.6.2.2.2.5.1.7-.1.2-.2.2-.4.2zM91.5 10c-.1 0-.2 0-.3-.1-.8-.5-1.6-1.1-2.4-1.6-.2-.1-.3-.5-.2-.7s.5-.3.7-.2c.8.5 1.6 1 2.4 1.6.2.2.3.5.1.7 0 .2-.1.3-.3.3zM37.1 7.9c-.3 0-.5-.2-.5-.5 0-.2.1-.3.2-.4 3.3-1.9 6.9-3.5 10.6-4.7.3-.1.5.1.6.3.1.3-.1.5-.3.6-3.6 1.1-7.1 2.7-10.4 4.6 0 0-.1.1-.2.1zM82.3 5h-.2c-3.5-1.5-7.2-2.5-10.9-3.2-.3 0-.5-.3-.4-.6 0-.3.3-.5.6-.4 3.8.7 7.5 1.7 11.1 3.2.3.1.4.4.3.7-.1.1-.3.3-.5.3zM55.1 1.6c-.3 0-.5-.2-.5-.5 0-.2.2-.5.4-.5.9-.1 1.9-.3 2.9-.3.3 0 .5.2.5.5s-.2.5-.5.5c-.9 0-1.8.1-2.8.3zm6.7-.6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h.9c.3 0 .5.2.5.5s-.2.5-.5.5h-.9z"/>
+    <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 62 51" to="-360 62 51" dur="10s" repeatCount="indefinite"/>
+  </g>
+  <g id="RingRightOuter">
+    <path class="st0" d="M142.1 102.5c-.9 0-1.7 0-2.6-.1-.3 0-.5-.2-.5-.5s.3-.5.5-.5c3.8.2 7.6 0 11.3-.7.3 0 .5.1.6.4 0 .3-.1.5-.4.6-2.9.5-5.9.8-8.9.8zm-10.2-1h-.1c-.9-.2-1.9-.4-2.8-.7-.3-.1-.4-.3-.4-.6s.3-.4.6-.4c.9.2 1.8.5 2.8.6.3.1.4.3.4.6s-.2.5-.5.5zm-6.4-1.8h-.2l-.9-.3c-.3-.1-.4-.4-.3-.6s.4-.4.6-.3l.9.3c.3.1.4.4.3.6 0 .2-.2.3-.4.3zm33.8-.2c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5l.9-.3c.3-.1.5 0 .6.3s0 .5-.3.6l-.9.3c0 .1-.1.1-.1.1zm4.4-1.8c-.3 0-.5-.2-.5-.5 0-.2.1-.4.3-.5.9-.4 1.7-.8 2.5-1.3.2-.1.5 0 .7.2s0 .5-.2.7c-.8.5-1.7.9-2.6 1.3-.1.1-.1.1-.2.1zm-46.9-2c-.1 0-.2 0-.2-.1-3.4-1.9-6.5-4.2-9.3-6.9-.2-.2-.2-.5 0-.7.2-.2.5-.2.7 0 2.8 2.6 5.8 4.8 9.1 6.7.2.1.3.4.2.7-.2.2-.3.3-.5.3zm55.9-3.4c-.3 0-.5-.2-.5-.5 0-.2.1-.3.2-.4 3-2.3 5.8-4.9 8.2-7.8.2-.2.5-.2.7-.1s.2.5.1.7c-2.5 3-5.3 5.6-8.4 8-.1 0-.2.1-.3.1zm-70.3-9c-.2 0-.3-.1-.4-.2-.6-.7-1.2-1.5-1.7-2.3-.2-.2-.1-.5.1-.7.2-.2.5-.1.7.1.5.8 1.1 1.5 1.7 2.3.2.2.1.5-.1.7-.1.1-.2.1-.3.1zm-3.9-5.5c-.2 0-.3-.1-.4-.2-.2-.3-.3-.6-.5-.8-.1-.2-.1-.5.2-.7s.5-.1.7.2c.2.3.3.5.5.8.1.2.1.5-.2.7h-.3zm87.4-.5c-.3 0-.5-.2-.5-.5 0-.1 0-.2.1-.3.2-.3.3-.5.5-.8.1-.2.4-.3.7-.2.2.1.3.4.2.7-.2.3-.3.6-.5.8-.1.2-.3.3-.5.3zm2.3-4.2h-.2c-.3-.1-.4-.4-.2-.7.4-.9.8-1.7 1.1-2.6.1-.3.4-.4.7-.3.3.1.4.4.3.6-.4.9-.7 1.8-1.1 2.7-.3.2-.4.3-.6.3zm-93.8-3.9c-.2 0-.4-.1-.5-.3-1.3-3.6-2.2-7.4-2.7-11.2 0-.3.2-.5.4-.6.3 0 .5.2.6.4.5 3.8 1.4 7.5 2.7 11 .1.3 0 .5-.3.6-.1.1-.1.1-.2.1zm97.2-6.1h-.1c-.3-.1-.4-.3-.4-.6.8-3.7 1.3-7.5 1.3-11.3V51c0-.3.2-.5.5-.5s.5.2.5.5v.2c0 3.9-.4 7.7-1.3 11.5-.1.3-.3.4-.5.4zM91.4 50.4c-.3 0-.5-.2-.5-.5 0-1 .1-1.9.2-2.9 0-.3.3-.5.5-.5.3 0 .5.3.5.5-.1.9-.1 1.9-.2 2.8 0 .4-.3.6-.5.6zm.6-6.6c-.1 0-.1 0 0 0-.4 0-.5-.3-.5-.6.1-.3.1-.6.2-1 0-.3.3-.5.6-.4s.5.3.4.6c-.1.3-.1.6-.2.9-.1.3-.3.5-.5.5zm100.1-.8c-.2 0-.5-.2-.5-.4-.1-.3-.1-.6-.2-.9-.1-.3.1-.5.4-.6s.5.1.6.4c.1.3.1.6.2 1 0 .2-.1.4-.5.5.1 0 .1 0 0 0zm-1.1-4.7c-.2 0-.4-.2-.5-.4-.2-.9-.5-1.8-.8-2.7-.1-.3.1-.5.3-.6.3-.1.5.1.6.3.3.9.6 1.8.8 2.8.1.3-.1.5-.4.6.1 0 .1 0 0 0zm-96.6-3.8h-.2c-.3-.1-.4-.4-.3-.6 1.3-3.6 3-7.1 5.1-10.4.1-.2.5-.3.7-.1.2.1.3.5.1.7-2.1 3.2-3.8 6.6-5 10.2 0 .1-.2.2-.4.2zm92.8-6c-.2 0-.4-.1-.4-.3-1.7-3.4-3.9-6.5-6.3-9.4-.2-.2-.2-.5.1-.7s.5-.2.7.1c2.5 3 4.7 6.2 6.4 9.6.1.2 0 .5-.2.7h-.3zm-83.1-10.4c-.3 0-.5-.2-.5-.5 0-.1 0-.2.1-.3.6-.7 1.3-1.4 2-2.1.2-.2.5-.2.7 0 .2.2.2.5 0 .7-.7.7-1.3 1.4-1.9 2.1-.1.1-.3.1-.4.1zm4.7-4.7c-.3 0-.5-.2-.5-.5 0-.1.1-.3.2-.4.2-.2.5-.4.7-.6.2-.2.5-.1.7.1.2.2.1.5-.1.7-.2.2-.5.4-.7.6 0 .1-.2.1-.3.1zm66-.5c-.1 0-.2 0-.3-.1-.2-.2-.5-.4-.7-.6-.2-.2-.2-.5-.1-.7s.5-.2.7-.1c.3.2.5.4.7.6.2.2.2.5.1.7-.1.1-.3.2-.4.2zM171 10c-.1 0-.2 0-.3-.1-.8-.5-1.6-1.1-2.4-1.6-.2-.1-.3-.5-.2-.7s.5-.3.7-.2c.8.5 1.6 1 2.4 1.6.2.2.3.5.1.7 0 .2-.2.3-.3.3zm-54.4-2.1c-.3 0-.5-.2-.5-.5 0-.2.1-.3.2-.4 3.3-1.9 6.9-3.5 10.6-4.7.3-.1.5.1.6.3.1.3-.1.5-.3.6-3.6 1.1-7.1 2.7-10.4 4.6 0 0-.1.1-.2.1zm45.2-3h-.2c-3.5-1.5-7.2-2.5-10.9-3.2-.3 0-.5-.3-.4-.6 0-.3.3-.5.6-.4 3.8.7 7.5 1.7 11.1 3.2.3.1.4.4.3.7-.2.2-.3.3-.5.3zm-27.3-3.3c-.3 0-.5-.2-.5-.5 0-.2.2-.5.4-.5.9-.1 1.9-.3 2.9-.3.3 0 .5.2.5.5s-.2.5-.5.5c-.8 0-1.7.1-2.8.3.1 0 .1 0 0 0zm6.7-.6c-.3 0-.5-.2-.5-.5s.2-.5.5-.5h.9c.3 0 .5.2.5.5s-.2.5-.4.5h-1z"/>
+    <animateTransform attributeName="transform" attributeType="XML" type="rotate" from="0 142 51" to="360 142 51" dur="10s" repeatCount="indefinite"/>
+  </g>
+  <g id="Layer_1">
+    <path d="M195.6 19.3h-.2v-.9c0-.5-.4-.9-.9-.9h-4.8c-.5 0-.9.4-.9.9v.9H170c-3 0-5.4 2.4-5.4 5.4V75c0 3 2.4 5.4 5.4 5.4h25.6c3 0 5.5-2.4 5.5-5.4V24.7c0-3-2.5-5.4-5.5-5.4zM40.1 86.8h6.5c3.1 0 5.7-2.5 5.7-5.7V17.8c0-3-2.3-5.4-5.3-5.6H5.7c-3.1 0-5.7 2.5-5.7 5.6v63.3c0 3.1 2.5 5.7 5.7 5.7h34.4zm81.8 1.4h22.4c2.3.1 4.2-1.7 4.2-4v-1c0-.5-.1-1.1-.3-1.6l-7.3-16.1c-.3-.8-.9-1.4-1.6-1.8 1.2-1.1 1.9-2.6 1.9-4.2V18.8c0-3.1-2.5-5.5-5.6-5.6H74.2c-3.1 0-5.5 2.5-5.6 5.6v40.7c0 1.5.6 3 1.7 4-.9.4-1.6 1.1-2 2l-6.8 16.2c-.2.5-.3 1-.3 1.5v1.1c.1 2.3 1.9 4.1 4.2 4l56.5-.1z" fill="url(#SVGID_1_)"/>
+    <path d="M195.6 21.3H170c-1.9 0-3.4 1.5-3.4 3.5V75c0 1.9 1.5 3.4 3.4 3.4h25.6c1.9 0 3.4-1.5 3.4-3.4V24.7c.1-1.9-1.5-3.4-3.4-3.4zm-8.7 52.8c0 .9-.7 1.6-1.6 1.6h-5c-.9 0-1.6-.7-1.6-1.5v-.1c0-.9.7-1.6 1.6-1.6h5c.9 0 1.6.7 1.6 1.6zM5.7 84.8h41c2 0 3.7-1.6 3.7-3.7V17.8c0-2-1.6-3.7-3.7-3.7h-41c-2 0-3.7 1.6-3.7 3.7v63.3c0 2.1 1.6 3.7 3.7 3.7zm14.4-4v-1.2c0-.7.6-1.3 1.3-1.3h9.5c.7 0 1.3.6 1.3 1.3v1.3c0 .7-.6 1.3-1.3 1.3h-9.5c-.7 0-1.3-.6-1.3-1.4zM74.2 63h61.4c2 0 3.6-1.6 3.6-3.5V18.8c0-2-1.6-3.6-3.6-3.6H74.2c-2 0-3.6 1.6-3.6 3.5v40.7c0 2.1 1.6 3.7 3.6 3.6zm29.5-45c0-.6.5-1.1 1.2-1.1.6 0 1.2.5 1.2 1.1 0 .6-.5 1.1-1.2 1.1-.6 0-1.1-.5-1.1-1l-.1-.1zm40.7 68.2c1.2.1 2.2-.8 2.2-2v-1c0-.3-.1-.5-.2-.7l-7.3-16.1c-.4-.8-1.2-1.3-2.1-1.2H72.3c-.9 0-1.7.5-2.1 1.3l-6.9 16.1c-.1.2-.1.5-.1.7v1.1c.1 1.2 1 2.1 2.2 2l79-.2zm-8.5-15c.1.4.3.8.3 1.1.1.3-.4.6-.9.6h-3.7c-.3 0-.6-.1-.6-.3-.1-.4-.2-.8-.3-1.1-.1-.3.3-.6.8-.6h3.7c.3-.1.5.1.7.3zm-5.5-4h3.5c.3 0 .5.1.6.3.1.4.2.7.3 1.1.1.3-.3.6-.8.6h-3.4c-.3 0-.5-.1-.6-.3-.1-.4-.3-.7-.4-1.1-.1-.2.3-.5.8-.6zm-3.2 4l.2 1.2c.1.3-.4.6-.9.6h-3.8c-.3 0-.6-.1-.7-.3l-.3-1.2c-.1-.3.4-.7.9-.7h3.9c.4.1.7.2.7.4zm-5.2-4h3.7c.3 0 .6.1.6.3l.2 1.1c.1.3-.4.6-.9.6H122c-.3 0-.6-.1-.6-.3l-.3-1.1c-.1-.2.3-.5.9-.6zm-4.4 4c.1.5.1.7.2 1.2 0 .3-.4.6-.9.6H113c-.4 0-.7-.2-.7-.4l-.3-1.2c-.1-.3.4-.6.9-.6h4.1c.3.1.6.3.6.4zm-5-4h3.9c.4 0 .7.2.7.4l.2 1.1c0 .3-.4.6-.8.6h-3.8c-.4 0-.7-.2-.7-.4l-.2-1.1c-.2-.2.2-.5.7-.6zm-10 .5c.1-.2.4-.4.8-.4h3.5c.4 0 .7.2.7.4l.2 1.1c0 .3-.3.5-.8.5h-3.9c-.5 0-.8-.2-.8-.5.1-.4.2-.6.3-1.1zm-.2 3.7c.1-.2.4-.4.8-.4h3.7c.4 0 .8.2.8.4l.2 1.2c.1.3-.3.6-.8.6H103c-.5 0-.9-.3-.8-.6 0-.5.1-.7.2-1.2zm-8.6-4.1h3.9c.5 0 .9.3.8.6-.1.3-.2.7-.3 1.1-.1.3-.4.4-.7.4h-3.8c-.5 0-.9-.3-.8-.6.1-.3.2-.7.3-1.1 0-.2.3-.3.6-.4zm-1.4 4.1c0-.2.3-.4.7-.4h4.1c.5 0 .9.3.8.6-.1.5-.2.7-.3 1.2-.1.3-.4.4-.7.4h-3.9c-.5 0-.9-.3-.9-.6.1-.4.1-.7.2-1.2zm-13.2.3c-.2.4-.3.8-.4 1.2-.1.2-.3.3-.6.4h-3.7c-.5 0-1-.3-.9-.7.1-.4.2-.8.4-1.1.1-.2.4-.4.7-.4h3.7c.6 0 .9.3.8.6zm.9-2.6c-.1.2-.4.4-.7.3H76c-.5 0-.8-.3-.7-.6.1-.4.3-.7.4-1.1.1-.2.3-.4.6-.3h3.5c.5 0 .9.3.8.6-.1.3-.3.7-.5 1.1zm7.8 3.8c-.1.2-.3.3-.7.3h-3.8c-.5 0-1-.3-.9-.7.1-.4.2-.7.3-1.2.1-.2.3-.4.7-.4h3.9c.5 0 1 .3.9.7-.1.4-.3.8-.4 1.3zm.9-3.9c-.1.2-.4.4-.7.3h-3.6c-.5 0-.9-.3-.8-.6.1-.3.2-.7.3-1.1.1-.2.4-.4.6-.3h3.7c.5 0 .9.3.8.6-.1.3-.2.8-.3 1.1zM91 80c.3-1.7.5-2.6.8-4.4 0-.2.3-.4.7-.4l25.3-.2c.4 0 .7.2.7.4.2 1.5.4 3 .4 4.5 0 .3-.4.6-.9.6H91.8c-.4 0-.8-.2-.8-.5z" fill="#ccedf0"/>
+    <path class="st0" d="M142.1 6c12 0 23.5 4.8 32 13.3h2.8c-16.3-17.8-43.3-20.4-62.7-6.1h3.5c7.2-4.7 15.7-7.2 24.4-7.2zm0 90.5c-9.3 0-18.4-2.9-26.1-8.3h-3.3c20.3 16.2 50 12.9 66.2-7.4.1-.1.2-.2.2-.3h-2.6c-8.5 10.1-21.1 16-34.4 16zM62.6 6c8.7 0 17.2 2.5 24.5 7.2h3.5C74.5 1.3 52.7.9 36.1 12.1h3.8C46.8 8.1 54.6 6 62.6 6zm0 90.5c-10.1 0-20-3.4-27.9-9.7h-3.1c17.2 15.1 42.6 15.6 60.5 1.4h-3.3c-7.7 5.4-16.9 8.3-26.2 8.3z"/>
+    <path class="st2" d="M194 25.1h-22.3c-.9 0-1.7.8-1.7 1.7v41.9c0 .9.8 1.7 1.7 1.7H194c.9 0 1.7-.8 1.7-1.7V26.8c0-.9-.8-1.7-1.7-1.7zm-11.5 3.7c3.2 0 5.7 2.6 5.7 5.7s-2.6 5.7-5.7 5.7-5.7-2.6-5.7-5.7c0-3.2 2.6-5.8 5.7-5.7 0-.1.1-.1 0 0zM177 45.9c.1-.3.4-.6.7-.6l2.7-.5 1.5-3.1h.6c.4 0 .7.2.9.5l1.3 2.6 3.2.6.2.5c.1.3 0 .7-.2.9l-2 2.1.5 3.5-.5.4c-.3.2-.7.2-1 .1l-2.5-1.3-2.9 1.5-.5-.3c-.3-.2-.4-.6-.4-.9l.4-2.9-2.3-2.5.3-.6zm6.1 12.9c0-.5.4-.9.9-.9h1c-.6-.6-1.5-1-2.4-1-1.5 0-2.8 1-3.2 2.5-.1.4-.4.7-.9.7h-.2c-.5-.1-.8-.6-.6-1 .7-2.7 3.4-4.3 6.1-3.6.8.2 1.5.6 2.1 1.1V56c.1-.5.5-.8 1-.8.4 0 .7.4.8.8v2.8c0 .5-.4.9-.9.9H184c-.5.1-.9-.3-1-.8l.1-.1zm-.5 6.4c-1.2 0-2.4-.5-3.3-1.2v.4c-.1.5-.5.8-1 .8-.4 0-.7-.4-.8-.8v-2.8c0-.5.4-.9.9-.9h2.8c.5.1.8.5.8 1 0 .4-.4.7-.8.8h-1c.6.6 1.5 1 2.4 1 1.5 0 2.8-1 3.2-2.5.2-.5.7-.7 1.1-.5.4.1.6.5.6 1-.6 2.1-2.6 3.7-4.9 3.7z"/>
+    <path class="st2" d="M182.6 38.4c2.2 0 4-1.8 4-4s-1.8-4-4-4-4 1.8-4 4 1.8 4 4 4zm-.9-6.4c0-.3.2-.5.5-.5s.5.2.5.5v2.3h2.3c.3 0 .5.2.5.5s-.2.5-.5.5h-2.8c-.3 0-.5-.2-.5-.5V32zm-1 18.6l1.9-1 1.9 1-.3-2.2 1.5-1.6-2.1-.4-1-1.9-1 1.9-2.1.4 1.5 1.6-.3 2.2z"/>
+    <path class="st3" d="M178.7 51.9c0 .3.1.7.4.9l.5.3 2.9-1.5 2.4 1.3c.3.2.7.2 1-.1l.5-.4-.4-3.4 2-2.1c.2-.3.3-.6.2-.9l-.2-.5-3.2-.6-1.3-2.6c-.2-.3-.5-.5-.9-.5h-.6l-1.5 3.1-2.7.5c-.3.1-.6.3-.7.6l-.1.6 2.3 2.5-.6 2.8zm2.9-5.6l1-1.9 1 1.9 2.1.4-1.5 1.6.3 2.2-1.9-1-1.9 1 .3-2.2-1.5-1.6 2.1-.4z"/>
+    <path class="st2" d="M25.8 44.4l-1 2.1-2.3.4 1.6 1.8-.4 2.3 2-1.1 2 1.1-.3-2.4 1.6-1.8-2.3-.4c.1.1-.9-2-.9-2z"/>
+    <path class="st2" d="M7.3 76.3H45c1 0 1.8-.8 1.8-1.8V20c0-1-.8-1.8-1.8-1.8H7.3c-1 0-1.8.8-1.8 1.8v54.4c0 1 .8 1.8 1.8 1.9zm23.8-10.8c-.7 3-3.7 4.8-6.6 4.1-.9-.2-1.7-.6-2.4-1.2v.3c0 .6-.4 1-1 1s-1-.4-1-1v-3c0-.6.4-1 1-1h3c.6 0 1 .4 1 1s-.4 1-1 1h-1c.7.7 1.6 1 2.5 1 1.7 0 3.2-1.1 3.5-2.7.2-.5.7-.8 1.2-.7.7.2 1 .7.8 1.2zm.2-2.9c0 .6-.4 1-1 1h-3c-.6 0-1-.4-1-1s.4-1 1-1h1c-.7-.7-1.6-1-2.5-1-1.6 0-3.1 1.1-3.5 2.7-.1.5-.5.8-1 .8h-.2c-.5-.1-.9-.7-.7-1.2.7-3 3.7-4.8 6.6-4.1.9.2 1.7.6 2.4 1.2v-.3c0-.6.4-1 1-1s1 .4 1 1l-.1 2.9zm.4-15.6l-2.1 2.3.5 3.8-.5.4c-.3.2-.8.3-1.1.1l-2.7-1.4-3.2 1.7-.6-.4c-.3-.2-.5-.6-.4-1l.5-3.2-2.6-2.8.2-.6c.1-.4.4-.6.8-.7l3-.5 1.7-3.4h.7c.4 0 .8.2 1 .6l1.4 2.8 3.6.6.1.7c.1.3 0 .7-.3 1zm-6-22.5c3.5 0 6.3 2.8 6.3 6.3s-2.8 6.3-6.3 6.3-6.3-2.8-6.3-6.3c0-3.4 2.9-6.3 6.3-6.3z"/>
+    <path class="st2" d="M21.4 30.9c0 2.4 1.9 4.3 4.3 4.3s4.3-1.9 4.3-4.3-1.9-4.3-4.3-4.3c-2.3 0-4.3 1.9-4.3 4.3zm3.5-2.7c0-.3.2-.5.5-.5s.5.2.5.5v2.5h2.5c.3 0 .5.2.5.5s-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.5v-3z"/>
+    <path class="st3" d="M31.7 45.3l-3.6-.6-1.4-2.8c-.2-.4-.6-.6-1-.6H25l-1.7 3.4-3 .5c-.4.1-.7.3-.8.7l-.2.6 2.6 2.8-.5 3.2c0 .4.1.8.4 1l.6.4 3.2-1.7 2.7 1.4c.4.2.8.2 1.1-.1l.5-.4-.5-3.8 2.2-2.3c.3-.3.4-.7.3-1l-.2-.7zm-4.2 3.4l.3 2.3-2-1.1-2 1.1.3-2.4-1.6-1.8 2.3-.4 1-2.1 1 2.1 2.3.4-1.6 1.9z"/>
+    <path class="st2" d="M88.4 43.8c2.4 0 4.3-1.9 4.3-4.3s-1.9-4.3-4.3-4.3-4.3 1.9-4.3 4.3c0 2.3 1.9 4.3 4.3 4.3zm-.9-7c0-.3.2-.5.5-.5s.5.2.5.5v2.5h2.6c.3 0 .5.2.5.5s-.2.5-.5.5H88c-.3 0-.5-.2-.5-.5v-3zm18.8 1.6l-1-2.1-1 2.1-2.3.4 1.7 1.8-.3 2.4 2-1.1 2 1.1-.3-2.4 1.7-1.8c-.2 0-2.5-.4-2.5-.4z"/>
+    <path class="st2" d="M76.1 59.8h57.7c1.2 0 2.1-.9 2.1-2.1V23.3c0-1.2-.9-2.1-2.1-2.1H76.1c-1.2 0-2.1.9-2.1 2.1v34.4c0 1.1.9 2.1 2.1 2.1zm33-18.5l.5 3.8-.5.4c-.3.2-.8.3-1.1.1l-2.7-1.4-3.2 1.7-.6-.4c-.3-.2-.5-.6-.4-1l.4-3.2-2.6-2.8.2-.6c.1-.4.4-.6.8-.7l3-.5 1.7-3.4h.7c.4 0 .8.2 1 .6l1.4 2.8 3.6.6.2.6c.1.4 0 .8-.2 1.1l-2.2 2.3zm7.6-3.2c.7-3 3.7-4.8 6.6-4.1.9.2 1.7.6 2.4 1.2v-.3c0-.6.4-1 1-1s1 .4 1 1v3c0 .6-.4 1-1 1h-3c-.6 0-1-.4-1-1s.4-1 1-1h1c-.7-.7-1.6-1-2.5-1-1.6 0-3.1 1.1-3.4 2.7-.1.5-.5.8-1 .8h-.2c-.6-.2-1-.7-.9-1.3 0 .1 0 0 0 0zm-.2 2.9c0-.6.4-1 1-1h3c.6 0 1 .4 1 1s-.4 1-1 1h-1c.7.7 1.6 1 2.5 1 1.6 0 3.1-1.1 3.4-2.7.2-.5.7-.8 1.2-.7.5.1.8.7.7 1.2-.7 3-3.7 4.8-6.6 4.1-.9-.2-1.7-.6-2.4-1.2v.3c0 .6-.4 1-1 1s-1-.4-1-1l.2-3zm-28.1-7.9c3.5 0 6.3 2.8 6.3 6.3s-2.8 6.3-6.3 6.3-6.3-2.8-6.3-6.3 2.8-6.3 6.3-6.3z"/>
+    <linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="-5.898" y1="157.462" x2="221.772" y2="-70.198" gradientTransform="matrix(1 0 0 -1 0 104)">
+      <stop offset="0" stop-color="#00c8d7"/>
+      <stop offset="1" stop-color="#0a84ff"/>
+    </linearGradient>
+    <path class="st3" d="M111.5 37.9l-.2-.6-3.6-.6-1.4-2.8c-.2-.4-.6-.6-1-.6h-.7l-1.7 3.4-3 .5c-.4.1-.7.3-.8.7l-.2.6 2.6 2.8-.4 3.2c0 .4.1.8.4 1l.6.4 3.2-1.7 2.7 1.4c.4.2.8.2 1.1-.1l.5-.4-.5-3.8 2.2-2.3c.2-.3.3-.8.2-1.1zm-4.5 2.7l.3 2.4-2-1.1-2 1.1.3-2.4-1.7-1.8 2.3-.4 1-2.1 1 2.1 2.3.4-1.5 1.8z"/>
+    <linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="3.801" y1="153.841" x2="219.401" y2="-61.759" gradientTransform="matrix(1 0 0 -1 0 104)">
+      <stop offset="0" stop-color="#00c8d7"/>
+      <stop offset="1" stop-color="#0a84ff"/>
+    </linearGradient>
+    <path d="M176.8 34.5c0 3.2 2.6 5.7 5.7 5.7s5.7-2.6 5.7-5.7-2.6-5.7-5.7-5.7-5.7 2.5-5.7 5.7zm5.8-4c2.2 0 4 1.8 4 4s-1.8 4-4 4-4-1.8-4-4 1.8-4 4-4zm-.9 4.3V32c0-.3.2-.5.5-.5s.5.2.5.5v2.3h2.3c.3 0 .5.2.5.5s-.2.5-.5.5h-2.8c-.2 0-.5-.2-.5-.5zm2.2 24.8c-.5-.1-.8-.5-.8-1 0-.4.4-.7.8-.8h1c-.6-.6-1.5-1-2.4-1-1.5 0-2.8 1-3.2 2.5-.1.4-.4.7-.9.7h-.2c-.5-.1-.8-.6-.6-1 .7-2.7 3.4-4.3 6.1-3.6.8.2 1.5.6 2.1 1.1V56c.1-.5.5-.8 1-.8.4 0 .7.4.8.8v2.8c0 .5-.4.9-.9.9l-2.8-.1zm-1.3 5.5c-1.2 0-2.4-.5-3.3-1.2v.4c-.1.5-.5.8-1 .8-.4 0-.7-.4-.8-.8v-2.7c0-.5.4-.9.9-.9h2.8c.5.1.8.5.8 1 0 .4-.4.7-.8.8h-1c.6.6 1.5 1 2.4 1 1.5 0 2.8-1 3.2-2.5.2-.5.7-.7 1.1-.5.4.1.6.5.6 1-.6 2.1-2.6 3.7-4.9 3.6zm-156.8-28c3.5 0 6.3-2.8 6.3-6.3s-2.8-6.3-6.3-6.3-6.3 2.8-6.3 6.3c-.1 3.5 2.7 6.4 6.3 6.3-.1.1-.1.1 0 0zm0-10.6c2.4 0 4.3 1.9 4.3 4.3s-1.9 4.3-4.3 4.3-4.3-1.9-4.3-4.3 1.9-4.2 4.3-4.3zm-.9 4.7v-3c0-.3.2-.5.5-.5s.5.2.5.5v2.5h2.5c.3 0 .5.2.5.5s-.2.5-.5.5h-3c-.3 0-.5-.2-.5-.4v-.1zm6.4 28.3v3c0 .6-.4 1-1 1h-3c-.6 0-1-.4-1-1s.4-1 1-1h1c-.7-.7-1.6-1-2.5-1-1.6 0-3.1 1.1-3.5 2.7-.1.5-.5.8-1 .8h-.2c-.5-.1-.9-.7-.7-1.2.7-3 3.7-4.8 6.6-4.1.9.2 1.7.6 2.4 1.2v-.3c0-.6.4-1 1-1s1 .4.9.9zm-.2 5.9c-.7 3-3.7 4.8-6.6 4.1-.9-.2-1.7-.6-2.4-1.2v.3c0 .6-.4 1-1 1s-1-.4-1-1v-3c0-.6.4-1 1-1h3c.6 0 1 .4 1 1s-.4 1-1 1h-1c.7.7 1.6 1 2.5 1 1.6.1 3.1-1 3.6-2.6.2-.5.7-.8 1.2-.7.6.2.9.7.7 1.1zm57.3-19.6c3.5 0 6.3-2.8 6.3-6.3s-2.8-6.3-6.3-6.3-6.3 2.8-6.3 6.3c0 3.4 2.8 6.3 6.3 6.3zm0-10.7c2.4 0 4.3 1.9 4.3 4.3s-1.9 4.3-4.3 4.3-4.3-1.9-4.3-4.3 1.9-4.3 4.3-4.3zm-.9 4.7v-3c0-.3.2-.5.5-.5s.5.2.5.5v2.5h2.6c.3 0 .5.2.5.5s-.2.5-.5.5H88c-.3 0-.5-.2-.5-.5zm29 4.2v-3c0-.6.4-1 1-1h3c.6 0 1 .4 1 1s-.4 1-1 1h-1c.7.7 1.6 1 2.5 1 1.6 0 3.1-1.1 3.4-2.7.2-.5.7-.8 1.2-.7.5.1.8.7.7 1.2-.7 3-3.7 4.8-6.6 4.1-.9-.2-1.7-.6-2.4-1.2v.3c0 .6-.4 1-1 1s-.9-.4-.8-1zm.2-5.9c.7-3 3.7-4.8 6.6-4.1.9.2 1.7.6 2.4 1.2v-.3c0-.6.4-1 1-1s1 .4 1 1v3c0 .6-.4 1-1 1h-3c-.6 0-1-.4-1-1s.4-1 1-1h1c-.7-.7-1.6-1-2.5-1-1.6 0-3.1 1.1-3.4 2.7-.1.5-.5.8-1 .8h-.2c-.6-.2-1-.7-.9-1.3z" fill="url(#SVGID_2_)"/>
+  </g>
+</svg>
--- a/browser/extensions/activity-stream/install.rdf.in
+++ b/browser/extensions/activity-stream/install.rdf.in
@@ -3,17 +3,17 @@
 #filter substitution
 
 <RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:em="http://www.mozilla.org/2004/em-rdf#">
   <Description about="urn:mozilla:install-manifest">
     <em:id>activity-stream@mozilla.org</em:id>
     <em:type>2</em:type>
     <em:bootstrap>true</em:bootstrap>
     <em:unpack>false</em:unpack>
-    <em:version>2018.05.11.1144-66b23ff4</em:version>
+    <em:version>2018.05.17.1352-edc5578e</em:version>
     <em:name>Activity Stream</em:name>
     <em:description>A rich visual history feed and a reimagined home page make it easier than ever to find exactly what you're looking for in Firefox.</em:description>
     <em:multiprocessCompatible>true</em:multiprocessCompatible>
 
     <em:targetApplication>
       <Description>
         <em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
         <em:minVersion>@MOZ_APP_VERSION@</em:minVersion>
--- a/browser/extensions/activity-stream/lib/ASRouter.jsm
+++ b/browser/extensions/activity-stream/lib/ASRouter.jsm
@@ -1,25 +1,62 @@
+/* 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/. */
+"use strict";
+
 ChromeUtils.import("resource://gre/modules/Services.jsm");
 Cu.importGlobalProperties(["fetch"]);
+const {ASRouterActions: ra} = ChromeUtils.import("resource://activity-stream/common/Actions.jsm", {});
 
 const INCOMING_MESSAGE_NAME = "ASRouter:child-to-parent";
 const OUTGOING_MESSAGE_NAME = "ASRouter:parent-to-child";
 const ONE_HOUR_IN_MS = 60 * 60 * 1000;
-// This is a temporary endpoint until we have something for snippets
-const SNIPPETS_ENDPOINT = "https://activity-stream-icons.services.mozilla.com/v1/messages.json.br";
-
+const SNIPPETS_ENDPOINT_PREF = "browser.newtabpage.activity-stream.asrouter.snippetsUrl";
+// Note: currently a restart is required when this pref is changed, this will be fixed in Bug 1462114
+const SNIPPETS_ENDPOINT = Services.prefs.getStringPref(SNIPPETS_ENDPOINT_PREF,
+  "https://activity-stream-icons.services.mozilla.com/v1/messages.json.br");
 const LOCAL_TEST_MESSAGES = [
   {
-    id: "LOCAL_TEST_THEMES",
-    template: "simple_snippet",
+    id: "ONBOARDING_1",
+    template: "onboarding",
+    bundled: 3,
+    content: {
+      title: "Private Browsing",
+      text: "Browse by yourself. Private Browsing with Tracking Protection blocks online trackers that follow you around the web.",
+      icon: "privatebrowsing",
+      button_label: "Try It Now",
+      button_action: "OPEN_PRIVATE_BROWSER_WINDOW",
+      button_action_params: "about:home"
+    }
+  },
+  {
+    id: "ONBOARDING_2",
+    template: "onboarding",
+    bundled: 3,
     content: {
-      text: "Your browser is ready for a makeover. Don't worry, you've got tons of options.",
-      button_label: "Check them out here",
-      button_url: "https://addons.mozilla.org/en-US/firefox/themes"
+      title: "Screenshots",
+      text: "Take, save and share screenshots - without leaving Firefox. Capture a region or an entire page as you browse. Then save to the web for easy access and sharing.",
+      icon: "screenshots",
+      button_label: "Try It Now",
+      button_action: "OPEN_URL",
+      button_action_params: "https://screenshots.firefox.com/#tour"
+    }
+  },
+  {
+    id: "ONBOARDING_3",
+    template: "onboarding",
+    bundled: 3,
+    content: {
+      title: "Add-ons",
+      text: "Add even more features that make Firefox work harder for you. Compare prices, check the weather or express your personality with a custom theme.",
+      icon: "addons",
+      button_label: "Try It Now",
+      button_action: "OPEN_ABOUT_PAGE",
+      button_action_params: "addons"
     }
   }
 ];
 
 const MessageLoaderUtils = {
   /**
    * _localLoader - Loads messages for a local provider (i.e. one that lives in mozilla central)
    *
@@ -226,73 +263,148 @@ class _ASRouter {
   getMessageById(id) {
     return this.state.messages.find(message => message.id === id);
   }
 
   _onStateChanged(state) {
     this.messageChannel.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "ADMIN_SET_STATE", data: state});
   }
 
-  async sendNextMessage(target, id) {
+  _getBundledMessages(originalMessage) {
+    let bundledMessages = [];
+    bundledMessages.push({content: originalMessage.content, id: originalMessage.id});
+    for (const msg of this.state.messages) {
+      if (msg.bundled && msg.template === originalMessage.template && msg.id !== originalMessage.id && !this.state.blockList.includes(msg.id)) {
+        // only copy the content - that's what the UI cares about
+        bundledMessages.push({content: msg.content, id: msg.id});
+      }
+      if (bundledMessages.length === originalMessage.bundled) {
+        break;
+      }
+    }
+    return {bundle: bundledMessages, provider: originalMessage.provider, template: originalMessage.template};
+  }
+
+  async sendNextMessage(target) {
     let message;
+    let bundledMessages;
 
     await this.setState(state => {
       message = getRandomItemFromArray(state.messages.filter(item => item.id !== state.currentId && !state.blockList.includes(item.id)));
       return {currentId: message ? message.id : null};
     });
-    if (message) {
+    // If this message needs to be bundled with other messages of the same template, find them and bundle them together
+    if (message && message.bundled) {
+      bundledMessages = this._getBundledMessages(message);
+    }
+    if (message && !bundledMessages) {
+      // If we only need to send 1 message, send the message
       target.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "SET_MESSAGE", data: message});
+    } else if (bundledMessages) {
+      // If the message we want is bundled with other messages, send the entire bundle
+      target.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "SET_BUNDLED_MESSAGES", data: bundledMessages});
     } else {
       target.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "CLEAR_MESSAGE"});
     }
   }
 
   async setMessageById(id) {
     await this.setState({currentId: id});
     const newMessage = this.getMessageById(id);
     if (newMessage) {
-      this.messageChannel.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "SET_MESSAGE", data: newMessage});
+      // If this message needs to be bundled with other messages of the same template, find them and bundle them together
+      if (newMessage.bundled) {
+        let bundledMessages = this._getBundledMessages(newMessage);
+        this.messageChannel.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "SET_BUNDLED_MESSAGES", data: bundledMessages});
+      } else {
+        this.messageChannel.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "SET_MESSAGE", data: newMessage});
+      }
     }
   }
 
   async clearMessage(target, id) {
     if (this.state.currentId === id) {
       await this.setState({currentId: null});
     }
     target.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "CLEAR_MESSAGE"});
   }
 
+  openLinkIn(url, target, {isPrivate = false, trusted = false, where = ""}) {
+    const win = target.browser.ownerGlobal;
+    const params = {
+      private: isPrivate,
+      triggeringPrincipal: Services.scriptSecurityManager.createNullPrincipal({})
+    };
+    if (trusted) {
+      win.openTrustedLinkIn(url, where);
+    } else {
+      win.openLinkIn(url, where, params);
+    }
+  }
+
   async onMessage({data: action, target}) {
     switch (action.type) {
       case "CONNECT_UI_REQUEST":
       case "GET_NEXT_MESSAGE":
         // Wait for our initial message loading to be done before responding to any UI requests
         await this.waitForInitialized;
         // Check if any updates are needed first
         await this.loadMessagesFromAllProviders();
         await this.sendNextMessage(target);
         break;
+      case ra.OPEN_PRIVATE_BROWSER_WINDOW:
+        this.openLinkIn(action.data.button_action_params, target, {isPrivate: true, where: "window"});
+        break;
+      case ra.OPEN_URL:
+        this.openLinkIn(action.data.button_action_params, target, {isPrivate: false, where: "tabshifted"});
+        break;
+      case ra.OPEN_ABOUT_PAGE:
+        this.openLinkIn(`about:${action.data.button_action_params}`, target, {isPrivate: false, trusted: true, where: "tab"});
+        break;
       case "BLOCK_MESSAGE_BY_ID":
         await this.setState(state => {
           const blockList = [...state.blockList];
           blockList.push(action.data.id);
           this._storage.set("blockList", blockList);
 
           return {blockList};
         });
         await this.clearMessage(target, action.data.id);
         break;
+      case "BLOCK_BUNDLE":
+        await this.setState(state => {
+          const blockList = [...state.blockList];
+          for (let message of action.data.bundle) {
+            blockList.push(message.id);
+          }
+          this._storage.set("blockList", blockList);
+
+          return {blockList};
+        });
+        await this.setState({currentId: null});
+        target.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "CLEAR_MESSAGE"});
+        break;
       case "UNBLOCK_MESSAGE_BY_ID":
         await this.setState(state => {
           const blockList = [...state.blockList];
           blockList.splice(blockList.indexOf(action.data.id), 1);
           this._storage.set("blockList", blockList);
           return {blockList};
         });
         break;
+      case "UNBLOCK_BUNDLE":
+        await this.setState(state => {
+          const blockList = [...state.blockList];
+          for (let message of action.data.bundle) {
+            blockList.splice(blockList.indexOf(message.id), 1);
+          }
+          this._storage.set("blockList", blockList);
+          return {blockList};
+        });
+        break;
       case "OVERRIDE_MESSAGE":
         await this.setMessageById(action.data.id);
         break;
       case "ADMIN_CONNECT_STATE":
         target.sendAsyncMessage(OUTGOING_MESSAGE_NAME, {type: "ADMIN_SET_STATE", data: this.state});
         break;
     }
   }
--- a/browser/extensions/activity-stream/lib/AboutPreferences.jsm
+++ b/browser/extensions/activity-stream/lib/AboutPreferences.jsm
@@ -80,16 +80,20 @@ this.AboutPreferences = class AboutPrefe
         this.init();
         break;
       case at.UNINIT:
         this.uninit();
         break;
       case at.SETTINGS_OPEN:
         action._target.browser.ownerGlobal.openPreferences("paneHome", {origin: "aboutHome"});
         break;
+      // This is used to open the web extension settings page for an extension
+      case at.OPEN_WEBEXT_SETTINGS:
+        action._target.browser.ownerGlobal.BrowserOpenAddonsMgr(`addons://detail/${encodeURIComponent(action.data)}`);
+        break;
     }
   }
 
   async observe(window) {
     this.renderPreferences(window, await this.strings, [...PREFS_BEFORE_SECTIONS,
       ...this.store.getState().Sections, ...PREFS_AFTER_SECTIONS]);
   }
 
--- a/browser/extensions/activity-stream/lib/ActivityStream.jsm
+++ b/browser/extensions/activity-stream/lib/ActivityStream.jsm
@@ -149,16 +149,20 @@ const PREFS_CONFIG = new Map([
   }],
   ["sectionOrder", {
     title: "The rendering order for the sections",
     value: "topsites,topstories,highlights"
   }],
   ["asrouterExperimentEnabled", {
     title: "Is the message center experiment on?",
     value: false
+  }],
+  ["asrouter.snippetsUrl", {
+    title: "A custom URL for the AS router snippets",
+    value: ""
   }]
 ]);
 
 // Array of each feed's FEEDS_CONFIG factory and values to add to PREFS_CONFIG
 const FEEDS_DATA = [
   {
     name: "aboutpreferences",
     factory: () => new AboutPreferences(),
--- a/browser/extensions/activity-stream/lib/TelemetryFeed.jsm
+++ b/browser/extensions/activity-stream/lib/TelemetryFeed.jsm
@@ -363,18 +363,20 @@ this.TelemetryFeed = class TelemetryFeed
         perf: session.perf
       }
     );
   }
 
   createASRouterEvent(action) {
     const appInfo = this.store.getState().App;
     const ping = {
+      client_id: "n/a",
       addon_version: appInfo.version,
-      locale: Services.locale.getAppLocaleAsLangTag()
+      locale: Services.locale.getAppLocaleAsLangTag(),
+      impression_id: this._impressionId
     };
     return Object.assign(ping, action.data);
   }
 
   sendEvent(event_object) {
     if (this.telemetryEnabled) {
       this.pingCentre.sendPing(event_object,
       {filter: ACTIVITY_STREAM_ID});
@@ -401,19 +403,17 @@ this.TelemetryFeed = class TelemetryFeed
   handleUserEvent(action) {
     let userEvent = this.createUserEvent(action);
     this.sendEvent(userEvent);
     this.sendUTEvent(userEvent, this.utEvents.sendUserEvent);
   }
 
   handleASRouterUserEvent(action) {
     let event = this.createASRouterEvent(action);
-    // TODO call this.sendASRouterEvent(event) once the ping gets finalized
-    // and data reviewed
-    console.log(event); // eslint-disable-line
+    this.sendASRouterEvent(event);
   }
 
   handleUndesiredEvent(action) {
     this.sendEvent(this.createUndesiredEvent(action));
   }
 
   onAction(action) {
     switch (action.type) {
--- a/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Dirica matidi manyen</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Kakube maloyo</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Lok macuk gi lamal:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yub potbuk me dirica matidi mamegi manyen"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yeny kakube</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yeny kakube" title="Yeny kakube"/><button id="searchSubmit" class="search-button" title="Yeny"><span class="sr-only"><span>Yeny</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Kakube maloyo</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Yub kakube man"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Lami tam obedo Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Lok macuk gi lamal:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wiye madito</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yub potbuk me dirica matidi mamegi manyen"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Pe Apwoyo",
   "manual_migration_import_button": "Kel kombedi",
   "error_fallback_default_info": "Aii, gin mo otime marac i cano jami man.",
   "error_fallback_default_refresh_suggestion": "Nwo cano potbuk me temo odoco.",
   "section_menu_action_remove_section": "Kwany bute",
   "section_menu_action_collapse_section": "Kan bute",
   "section_menu_action_expand_section": "Yar bute",
   "section_menu_action_manage_section": "Lo bute",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Med Kakube maloyo",
   "section_menu_action_move_up": "Kob Malo",
   "section_menu_action_move_down": "Kob Piny",
   "section_menu_action_privacy_notice": "Ngec me mung",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Dwok makwongo",
   "prefs_topstories_description": "Jami me rwom ma lamal ma itwero keng",
   "settings_pane_header": "Ter me dirica matidi manyen",
   "settings_pane_body2": "Yer ngo ma i neno i potbuk man.",
   "settings_pane_search_header": "Yeny",
   "settings_pane_search_body": "Yeny Kakube ki i dirica ni matidi manyen.",
   "settings_pane_topsites_body": "Nong kakube ma ilimo loyo.",
   "settings_pane_topsites_options_showmore": "Nyut rek ariyo",
--- a/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ach/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva Pestanya</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mas freqüents</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza la tuya pachina de Nueva Pestanya"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mirar en o Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mirar en o Web" title="Mirar en o Web"/><button id="searchSubmit" class="search-button" title="Mirar"><span class="sr-only"><span>Mirar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mas freqüents</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este puesto"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendau per Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaus</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ubrir lo menú contextual d&#x27;a sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza la tuya pachina de Nueva Pestanya"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/an/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No, gracias",
   "manual_migration_import_button": "Importar-lo agora",
   "error_fallback_default_info": "Oi, ha fallau bella cosa en a carga d'este conteniu.",
   "error_fallback_default_refresh_suggestion": "Refrescar la pachina pa tornar-lo a intentar.",
   "section_menu_action_remove_section": "Borrar la sección",
   "section_menu_action_collapse_section": "Plegar la sección",
   "section_menu_action_expand_section": "Desplegar la sección",
   "section_menu_action_manage_section": "Chestionar la sección",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Anyadir un puesto popular",
   "section_menu_action_move_up": "Puyar",
   "section_menu_action_move_down": "Baixar",
   "section_menu_action_privacy_notice": "Nota sobre privacidat",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar valors per defecto",
   "prefs_topstories_description": "Contenius d'alta calidat que no te quiers perder",
   "prefs_topstories_show_sponsored_label": "Articlos patrocinaus per {provider}",
   "settings_pane_header": "Preferencias de Nueva Pestanya",
   "settings_pane_body2": "Tría lo que veyes en esta pachina.",
   "settings_pane_search_header": "Mirar",
   "settings_pane_search_body": "Mirar la Web dende la tuya nueva pestanya.",
   "settings_pane_topsites_body": "Accede a los puestos web que mas vesitas.",
--- a/browser/extensions/activity-stream/prerendered/locales/an/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/an/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>لسان جديد</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>المواقع الأكثر زيارة</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>المواضيع الشائعة:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="خصص صفحة اللسان الجديد"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ابحث في الوِب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ابحث في الوِب" title="ابحث في الوِب"/><button id="searchSubmit" class="search-button" title="ابحث"><span class="sr-only"><span>ابحث</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>المواقع الأكثر زيارة</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="حرّر هذا الموقع"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ينصح به Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>المواضيع الشائعة:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>أهم الأحداث</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>افتح قائمة القسم السياقية</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="خصص صفحة اللسان الجديد"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream-strings.js
@@ -1,142 +1,104 @@
 // Note - this is a generated ar file.
 window.gActivityStreamStrings = {
   "newtab_page_title": "لسان جديد",
   "header_top_sites": "المواقع الأكثر زيارة",
   "header_highlights": "أهم الأحداث",
   "header_recommended_by": "ينصح به {provider}",
   "context_menu_button_sr": "افتح قائمة {title} السياقية",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "section_context_menu_button_sr": "افتح قائمة القسم السياقية",
   "type_label_visited": "مُزارة",
   "type_label_bookmarked": "معلّمة",
   "type_label_recommended": "مُتداول",
-  "type_label_pocket": "Saved to Pocket",
-  "type_label_downloaded": "Downloaded",
+  "type_label_pocket": "حُفِظت في بوكِت",
+  "type_label_downloaded": "نُزّل",
   "menu_action_bookmark": "علّم",
   "menu_action_remove_bookmark": "أزل العلامة",
   "menu_action_open_new_window": "افتح في نافذة جديدة",
   "menu_action_open_private_window": "افتح في نافذة خاصة جديدة",
   "menu_action_dismiss": "ألغِ",
   "menu_action_delete": "احذف من التأريخ",
   "menu_action_pin": "ثبّت",
   "menu_action_unpin": "أزل",
   "confirm_history_delete_p1": "هل أنت متأكد أنك تريد حذف كل وجود لهذه الصفحة من تأريخك؟",
   "confirm_history_delete_notice_p2": "لا يمكن التراجع عن هذا الإجراء.",
   "menu_action_save_to_pocket": "احفظ في Pocket",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_delete_pocket": "احذف من بوكِت",
+  "menu_action_archive_pocket": "أرشِف في بوكِت",
+  "menu_action_show_file_mac_os": "أظهِر في فايندر",
+  "menu_action_show_file_windows": "افتح المجلد المحتوي",
+  "menu_action_show_file_linux": "افتح المجلد المحتوي",
+  "menu_action_show_file_default": "أظهِر الملف",
+  "menu_action_open_file": "افتح الملف",
+  "menu_action_copy_download_link": "انسخ رابط التنزيل",
+  "menu_action_go_to_download_page": "انتقل إلى صفحة التنزيل",
+  "menu_action_remove_download": "احذف من التأريخ",
   "search_button": "ابحث",
   "search_header": "بحث {search_engine_name}",
   "search_web_placeholder": "ابحث في الوِب",
   "section_disclaimer_topstories": "أكثر القصص تشويقًا على الإنترنت، مختارة بعناية بناء على ما تقرأه. من بوكِت، و الذي أصبح جزءًا من موزيلا.",
   "section_disclaimer_topstories_linktext": "اطلع على طريقة عملها.",
   "section_disclaimer_topstories_buttontext": "حسنًا، فهمت",
-  "prefs_home_header": "Firefox Home Content",
-  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
-  "prefs_section_rows_option": "{num} row;{num} rows",
-  "prefs_search_header": "Web Search",
-  "prefs_topsites_description": "The sites you visit most",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
-  "prefs_topstories_sponsored_learn_more": "Learn more",
-  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
-  "prefs_snippets_description": "Updates from Mozilla and Firefox",
+  "prefs_home_header": "محتوى فَيَرفُكس الرئيسي",
+  "prefs_home_description": "اختر المحتوى الذي تريد عرضه في شاشة فَيَرفُكس الرئيسية.",
+  "prefs_section_rows_option": "صف واحد;صفان;{num} صفوف;{num} صفا;{num} صف;لا صفوف",
+  "prefs_search_header": "ابحث في الوِب",
+  "prefs_topsites_description": "أكثر المواقع المزارة",
+  "prefs_topstories_description2": "محتوى مميز من أرجاء الوِب انتقيناه لك أنت",
+  "prefs_topstories_options_sponsored_label": "الأخبار الممولة",
+  "prefs_topstories_sponsored_learn_more": "اطّلع على المزيد",
+  "prefs_highlights_description": "مجموعة المواقع التي حفظتها أو زرتها",
+  "prefs_highlights_options_visited_label": "الصفحات المزارة",
+  "prefs_highlights_options_download_label": "آخر ما نُزّل",
+  "prefs_highlights_options_pocket_label": "الصفحات المحفوظة في بوكِت",
+  "prefs_snippets_description": "التحديثات من موزيلا وفَيَرفُكس",
   "settings_pane_button_label": "خصص صفحة اللسان الجديد",
   "settings_pane_topsites_header": "المواقع الأكثر زيارة",
   "settings_pane_highlights_header": "أهم الأحداث",
   "settings_pane_highlights_options_bookmarks": "العلامات",
   "settings_pane_snippets_header": "المقتطفات",
   "edit_topsites_button_text": "حرِّر",
   "edit_topsites_edit_button": "حرّر هذا الموقع",
   "topsites_form_add_header": "موقع شائع جديد",
   "topsites_form_edit_header": "حرّر الموقع الشائع",
-  "topsites_form_title_label": "Title",
+  "topsites_form_title_label": "العنوان",
   "topsites_form_title_placeholder": "أدخل عنوانًا",
-  "topsites_form_url_label": "URL",
-  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_url_label": "المسار",
+  "topsites_form_image_url_label": "مسار الصورة المخصصة",
   "topsites_form_url_placeholder": "اكتب أو ألصق مسارًا",
-  "topsites_form_use_image_link": "Use a custom image…",
-  "topsites_form_preview_button": "Preview",
+  "topsites_form_use_image_link": "استخدم صورة مخصصة…",
+  "topsites_form_preview_button": "عايِن",
   "topsites_form_add_button": "أضِفْ",
   "topsites_form_save_button": "احفظ",
   "topsites_form_cancel_button": "ألغِ",
   "topsites_form_url_validation": "مطلوب مسار صالح",
-  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "topsites_form_image_validation": "فشل تحميل الصورة. جرّب مسارا آخر.",
   "pocket_read_more": "المواضيع الشائعة:",
   "pocket_read_even_more": "اعرض المزيد من الأخبار",
   "highlights_empty_state": "ابدأ التصفح وسنعرض أمامك بعض المقالات والفيديوهات والمواقع الأخرى التي زرتها حديثا أو أضفتها إلى العلامات هنا.",
   "topstories_empty_state": "لا جديد. تحقق لاحقًا للحصول على مزيد من أهم الأخبار من {provider}. لا يمكنك الانتظار؟ اختر موضوعًا شائعًا للعثور على المزيد من القصص الرائعة من جميع أنحاء الوِب.",
   "manual_migration_explanation2": "جرب فَيَرفُكس مع العلامات، و التأريخ، و كلمات السر من متصفح آخر.",
   "manual_migration_cancel_button": "لا شكرًا",
   "manual_migration_import_button": "استورد الآن",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "default_label_loading": "يُحمّل…",
-  "header_stories": "أهم الأخبار",
-  "header_visit_again": "زرها مجددا",
-  "header_bookmarks": "أحدث العلامات",
-  "header_bookmarks_placeholder": "لا علامات لديك بعد.",
-  "header_stories_from": "من",
-  "type_label_synced": "مُزامنة من جهاز آخر",
-  "type_label_open": "مفتوحة",
-  "type_label_topic": "الموضوع",
-  "type_label_now": "الآن",
-  "menu_action_copy_address": "انسخ العنوان",
-  "menu_action_email_link": "أرسل الرابط بالبريد…",
-  "search_for_something_with": "ابحث عن {search_term} مستخدما:",
-  "search_settings": "غيّر إعدادات البحث",
-  "section_info_option": "المعلومات",
-  "section_info_send_feedback": "أرسل انطباعك",
-  "section_info_privacy_notice": "تنويه الخصوصية",
-  "welcome_title": "مرحبًا في لسان جديد",
-  "welcome_body": "سيستخدم فيرفكس هذا المكان لعرض أكثر العلامات، و المقالات، و الفيديوهات والصفحات التي زرتها مؤخرا، ليمكنك العودة إليها بسهولة.",
-  "welcome_label": "تعرّف على أهم الأخبار",
-  "time_label_less_than_minute": "< دقيقة",
-  "time_label_minute": "{number} دقيقة",
-  "time_label_hour": "{number} ساعة",
-  "time_label_day": "{number} يوم",
-  "settings_pane_header": "تفضيلات صفحة اللسان الجديد",
-  "settings_pane_body2": "اختر ماتريد ان تراه في هذه الصفحه.",
-  "settings_pane_search_header": "بحث",
-  "settings_pane_search_body": "ابحث في الوِب من اللسان الجديد.",
-  "settings_pane_topsites_body": "وصول للمواقع التي تزورها أكثر.",
-  "settings_pane_topsites_options_showmore": "اعرض صفّين",
-  "settings_pane_bookmarks_header": "أحدث العلامات",
-  "settings_pane_bookmarks_body": "علاماتك المعلّمة حديثًا في مكان واحد.",
-  "settings_pane_visit_again_header": "زرها مجددا",
-  "settings_pane_visit_again_body": "سيعرض لك فَيَرفُكس بعضًا من تأريخ تصفحك الذي قد تود تذكّره لاحقًا.",
-  "settings_pane_highlights_body2": "ارجع للأشياء المهمة التي زرتها مؤخرًا أو العلامات.",
-  "settings_pane_highlights_options_visited": "المواقع المُزارة",
-  "settings_pane_snippets_body": "اقرأ تحديثات قصيرة و جميلة من موزيلا عن فَيَرفُكس، و ثقافة الإنترنت، و أحيانا صرعة عشوائية من الإنترنت.",
-  "settings_pane_done_button": "تمّ",
-  "settings_pane_topstories_options_sponsored": "اعرض الأخبار الممولة",
-  "edit_topsites_button_label": "خصص قسم المواقع الأكثر زيارة",
-  "edit_topsites_showmore_button": "اعرض المزيد",
-  "edit_topsites_showless_button": "اعرض أقل",
-  "edit_topsites_done_button": "تمّ",
-  "edit_topsites_pin_button": "ثبّت هذا الموقع",
-  "edit_topsites_unpin_button": "افصل هذا الموقع",
-  "edit_topsites_dismiss_button": "احذف هذا الموقع",
-  "edit_topsites_add_button": "أضِفْ",
-  "edit_topsites_add_button_tooltip": "أضف موقعًا شائعًا",
-  "pocket_feedback_header": "أفضل ما في الوِب، انتقاها أكثر من ٢٥ مليون شخص.",
-  "pocket_description": "اكتشف محتوى عالي الجودة لربما قد فاتك دون هذا، بماسعدة من Pocket الذي أصبح الآن جزءا من موزيلا."
+  "error_fallback_default_info": "أخ! حدث خطب ما أثناء تحميل المحتوى.",
+  "error_fallback_default_refresh_suggestion": "أنعِش الصفحة لإعادة المحاولة.",
+  "section_menu_action_remove_section": "أزِل القسم",
+  "section_menu_action_collapse_section": "اطوِ القسم",
+  "section_menu_action_expand_section": "وسّع القسم",
+  "section_menu_action_manage_section": "أدِر القسم",
+  "section_menu_action_manage_webext": "Manage Extension",
+  "section_menu_action_add_topsite": "أضف موقعًا شائعًا",
+  "section_menu_action_move_up": "انقل لأعلى",
+  "section_menu_action_move_down": "انقل لأسفل",
+  "section_menu_action_privacy_notice": "تنويه الخصوصية",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ar/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Llingüeta nueva</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitaos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar páxina Llingüeta nueva"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Guetar na web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Guetar na web" title="Guetar na web"/><button id="searchSubmit" class="search-button" title="Guetar"><span class="sr-only"><span>Guetar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitaos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar esti sitiu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendáu por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacaos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar páxina Llingüeta nueva"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Non, gracies",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Cargando…",
   "header_stories": "Histories destacaes",
   "header_visit_again": "Visitar de nueves",
   "header_bookmarks": "Marcadores recientes",
   "header_bookmarks_placeholder": "Entá nun tienes dengún marcador.",
   "header_stories_from": "de",
   "type_label_synced": "Sincronizóse dende otru preséu",
   "type_label_open": "Abrir",
--- a/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ast/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yeni Vərəq</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Qabaqcıl Saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Məşhur Mövzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Vərəq səhifənizi özəlləşdirin"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>İnternetdə Axtar</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="İnternetdə Axtar" title="İnternetdə Axtar"/><button id="searchSubmit" class="search-button" title="Axtar"><span class="sr-only"><span>Axtar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Qabaqcıl Saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytı düzəlt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket məsləhət görür</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Məşhur Mövzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Seçilmişlər</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekst menyusu bölməsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Vərəq səhifənizi özəlləşdirin"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/az/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Xeyr, Təşəkkürlər",
   "manual_migration_import_button": "İndi idxal et",
   "error_fallback_default_info": "Uups, bu məzmunu yüklərkən nəsə səhv getdi.",
   "error_fallback_default_refresh_suggestion": "Təkrar yoxlamaq üçün səhifəni yeniləyin.",
   "section_menu_action_remove_section": "Bölməni Sil",
   "section_menu_action_collapse_section": "Bölməni Daralt",
   "section_menu_action_expand_section": "Bölməni Genişlət",
   "section_menu_action_manage_section": "Bölməni İdarə et",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Qabaqcıl Sayt əlavə et",
   "section_menu_action_move_up": "Yuxarı daşı",
   "section_menu_action_move_down": "Aşağı daşı",
   "section_menu_action_privacy_notice": "Məxfilik Bildirişi",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "İlkin seçənəkləri bərpa et",
   "settings_pane_header": "Yeni Vərəq Nizamlamaları",
   "settings_pane_body2": "Bu səhifədə nə görəcəyinizi seçin.",
   "settings_pane_search_header": "Axtar",
   "settings_pane_search_body": "Yeni vərəqinizdən Web-də axtarış edin.",
   "settings_pane_topsites_body": "Ən çox ziyarət etdiyiniz saytları görün.",
   "settings_pane_topsites_options_showmore": "İki sətir göstər",
   "settings_pane_highlights_body2": "Son ziyarət etdiyiniz və ya əlfəcinlədiyiniz maraqlı məzmunlara rahat qayıdın.",
--- a/browser/extensions/activity-stream/prerendered/locales/az/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/az/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Новая картка</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Папулярныя сайты</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Папулярныя тэмы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Наладзіць вашу старонку новай карткі"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук у Інтэрнэце</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук у Інтэрнэце" title="Пошук у Інтэрнэце"/><button id="searchSubmit" class="search-button" title="Шукаць"><span class="sr-only"><span>Шукаць</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Папулярныя сайты</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Рэдагаваць гэты сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рэкамендавана Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Папулярныя тэмы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Выбранае</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Адкрыць кантэкстнае меню раздзела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Наладзіць вашу старонку новай карткі"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/be/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Не, дзякуй",
   "manual_migration_import_button": "Імпартаваць зараз",
   "error_fallback_default_info": "Ох, нешта пайшло не так пры загрузцы гэтага змесціва.",
   "error_fallback_default_refresh_suggestion": "Абнавіць старонку, каб паўтарыць спробу.",
   "section_menu_action_remove_section": "Выдаліць раздзел",
   "section_menu_action_collapse_section": "Згарнуць раздзел",
   "section_menu_action_expand_section": "Разгарнуць раздзел",
   "section_menu_action_manage_section": "Наладзіць раздзел",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Дадаць папулярны сайт",
   "section_menu_action_move_up": "Пасунуць вышэй",
   "section_menu_action_move_down": "Пасунуць ніжэй",
   "section_menu_action_privacy_notice": "Паведамленне аб прыватнасці",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Аднавіць прадвызначэнні",
   "settings_pane_header": "Налады новай карткі",
   "settings_pane_body2": "Выберыце тое, што вы бачыце на гэтай старонцы.",
   "settings_pane_search_header": "Пошук",
   "settings_pane_search_body": "Пошук у Сеціве з вашай новай карткі.",
   "settings_pane_topsites_body": "Доступ да сайтаў, якія вы часцей наведваеце.",
   "settings_pane_topsites_options_showmore": "Паказваць два шэрагі",
   "settings_pane_highlights_body2": "Знайдзіце зваротны шлях да цікавых рэчаў, якія вы нядаўна наведалі або дадалі ў закладкі.",
--- a/browser/extensions/activity-stream/prerendered/locales/be/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/be/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Нов раздел</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Често посещавани</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настройки на новия раздел"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Търсене в интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Търсене в интернет" title="Търсене в интернет"/><button id="searchSubmit" class="search-button" title="Търсене"><span class="sr-only"><span>Търсене</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Често посещавани</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Редактиране"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препоръчано от Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Акценти</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настройки на новия раздел"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Не, благодаря",
   "manual_migration_import_button": "Внасяне",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Политика за личните данни",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "settings_pane_header": "Настройки на новия раздел",
   "settings_pane_body2": "Изберете какво да виждате на тази страница.",
   "settings_pane_search_header": "Търсене",
   "settings_pane_search_body": "Търсете в мрежата от нов раздел.",
   "settings_pane_topsites_body": "Достъп до страниците, които посещавате най-често.",
   "settings_pane_topsites_options_showmore": "Показване на два реда",
   "settings_pane_highlights_body2": "Намерете интересните неща, които скоро сте посетили или отметнали.",
   "settings_pane_highlights_options_visited": "Посетени страници",
--- a/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bg/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>নতুন ট্যাব</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ঘ সাইট</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ঘ সাইট</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream-strings.js
@@ -5,56 +5,56 @@ window.gActivityStreamStrings = {
   "header_highlights": "হাইলাইটস",
   "header_recommended_by": "{provider} দ্বারা সুপারিশকৃত",
   "context_menu_button_sr": "{title} থেকে কনটেক্সট মেনু খুলুন",
   "section_context_menu_button_sr": "কনটেক্স মেন্যু তে সেকশনটি খুলুন",
   "type_label_visited": "পরিদর্শিত",
   "type_label_bookmarked": "বুকমার্ক করা হয়েছে",
   "type_label_recommended": "ঝোঁক",
   "type_label_pocket": "Pocket এ সংরক্ষণ করুন",
-  "type_label_downloaded": "Downloaded",
+  "type_label_downloaded": "ডাউনলোড হয়েছে",
   "menu_action_bookmark": "বুকমার্ক",
   "menu_action_remove_bookmark": "বুকমার্ক মুছে দিন",
   "menu_action_open_new_window": "নতুন উইন্ডোতে খুলুন",
   "menu_action_open_private_window": "নতুন ব্যক্তিগত উইন্ডোতে খুলুন",
   "menu_action_dismiss": "বাতিল",
   "menu_action_delete": "ইতিহাস থেকে মুছে ফেলুন",
   "menu_action_pin": "পিন",
   "menu_action_unpin": "আনপিন",
   "confirm_history_delete_p1": "আপনি কি নিশ্চিতভাবে আপনার ইতিহাস থেকে এই পাতার সকল কিছু মুছে ফেলতে চান?",
   "confirm_history_delete_notice_p2": "এই পরিবর্তনটি অপরিবর্তনীয়।",
   "menu_action_save_to_pocket": "Pocket এ সংরক্ষণ করুন",
   "menu_action_delete_pocket": "Pocket থেকে মুছে দিন",
   "menu_action_archive_pocket": "Pocket এ আর্কাইভ করুন",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_show_file_mac_os": "ফাইন্ডারে প্রদর্শন করুন",
+  "menu_action_show_file_windows": "ধারণকারী ফোল্ডার খুলুন",
+  "menu_action_show_file_linux": "ধারণকারী ফোল্ডার খুলুন",
+  "menu_action_show_file_default": "ফাইল দেখান",
+  "menu_action_open_file": "ফাইল খুলুন",
+  "menu_action_copy_download_link": "ডাউনলোডের লিঙ্ক অনুলিপি করুন",
+  "menu_action_go_to_download_page": "ডাউনলোড পাতায় যাও",
+  "menu_action_remove_download": "ইতিহাস থেকে মুছে ফেলুন",
   "search_button": "অনুসন্ধান",
   "search_header": "{search_engine_name} খুঁজুন",
   "search_web_placeholder": "ওয়েবে সন্ধান করুন",
   "section_disclaimer_topstories": "মজার মজার সব গল্প নির্বাচিত হয়েছে, আপনি যেমনটা পড়েন। Pocket এখন থেকে Mozilla এর অংশ।",
   "section_disclaimer_topstories_linktext": "কিভাবে কাজ করে জানুন।",
   "section_disclaimer_topstories_buttontext": "ঠিক আছে, বুঝেছি",
   "prefs_home_header": "Firefox Home কনটেন্ট",
   "prefs_home_description": "আপনার Firefox Home স্ক্রিনে যেসব কনটেন্ট রাখতে চান তা পছন্দ করুন।",
   "prefs_section_rows_option": "{num} সারি; {num} সারিগুলি",
   "prefs_search_header": "ওয়েব অনুসন্ধান",
   "prefs_topsites_description": "যে সাইটগুলিতে আপনি বেশি যান",
   "prefs_topstories_description2": "ওয়েবের দারুন সব কন্টেন্ট, নিজের মত করে সাঁজিয়ে নিন",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_options_sponsored_label": "স্পন্সর করা স্টোরি",
   "prefs_topstories_sponsored_learn_more": "আরও জানুন",
   "prefs_highlights_description": "সাইটের একটি সেকশন যা আপনি সংরক্ষণ অথবা গিয়েছিলেন",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
+  "prefs_highlights_options_visited_label": "ঘুরে আসা পেজ",
+  "prefs_highlights_options_download_label": "সর্বশেষ ডাউনলোড",
+  "prefs_highlights_options_pocket_label": "পেজটি Pocket এ সংরক্ষণ করা হয়েছে",
   "prefs_snippets_description": "Mozilla and Firefox থেকে হালনাগাদ",
   "settings_pane_button_label": "আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন",
   "settings_pane_topsites_header": "শীর্ষ সাইট",
   "settings_pane_highlights_header": "হাইলাইটস",
   "settings_pane_highlights_options_bookmarks": "বুকমার্ক",
   "settings_pane_snippets_header": "টুকিটাকি",
   "edit_topsites_button_text": "সম্পাদনা",
   "edit_topsites_edit_button": "সাইটটি সম্পাদনা করুন",
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "প্রয়োজন নেই",
   "manual_migration_import_button": "এখনই ইম্পোর্ট করুন",
   "error_fallback_default_info": "ওহো, কনটেন্টটি লোড করতে কিছু ভুল হয়েছে।",
   "error_fallback_default_refresh_suggestion": "পুনরায় চেস্টা করার জন্য পেজটি রিফ্রেশ করুন।",
   "section_menu_action_remove_section": "সেকশনটি সরান",
   "section_menu_action_collapse_section": "সেকশনটি সংকোচন করুন",
   "section_menu_action_expand_section": "সেকশনটি প্রসারিত করুন",
   "section_menu_action_manage_section": "সেকশনটি পরিচালনা করুন",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "টপ সাইট যোগ করুন",
   "section_menu_action_move_up": "উপরে উঠাও",
   "section_menu_action_move_down": "নীচে নামাও",
   "section_menu_action_privacy_notice": "গোপনীয়তা নীতি",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "লোড করা হচ্ছে…",
   "type_label_synced": "অন্য ডিভাইস থেকে সিঙ্ক করা হয়েছে",
   "type_label_open": "খুলুন",
   "type_label_topic": "বিষয়",
   "menu_action_copy_address": "ঠিকানা কপি করুন",
   "menu_action_email_link": "ই-মেইল লিংক…",
   "search_for_something_with": "{search_term} এর জন্য খুঁজুন সাথে:",
   "search_settings": "সার্চ সেটিংস বদল করুন",
@@ -111,18 +123,10 @@ window.gActivityStreamStrings = {
   "settings_pane_topsites_options_showmore": "দুটি সারি দেখান",
   "settings_pane_done_button": "হয়েছে",
   "edit_topsites_button_label": "আপনার শীর্ষ সাইট সেকশন কাস্টমাইজ করুন",
   "edit_topsites_showmore_button": "আরও দেখান",
   "edit_topsites_showless_button": "কম দেখান",
   "edit_topsites_done_button": "হয়েছে",
   "edit_topsites_pin_button": "সাইটটি পিন করুন",
   "edit_topsites_dismiss_button": "সাইটটি মুছে দিন",
-  "edit_topsites_add_button": "যুক্ত করুন",
-  "prefs_restore_defaults_button": "ডিফল্ট পুনরুদ্ধার করুন",
-  "prefs_topstories_show_sponsored_label": "{provider} বিজ্ঞাপনী গল্প",
-  "settings_pane_body2": "আপনি এই পৃষ্ঠায় যা দেখেন তা পছন্দ করুন।",
-  "settings_pane_highlights_body2": "আপনি সম্প্রতি পরিদর্শন করেছেন বা বুকমার্ক করেছেন এমন আকর্ষণীয় বিষয়গুলিতে ফিরে যাবার পথ পান।",
-  "settings_pane_highlights_options_visited": "পূর্বে পরিদর্শন করা সাইটগুলি",
-  "settings_pane_snippets_body": "Mozilla থেকে Firefox, ইন্টারনেট সংস্কৃতি, এবং মাঝে মাঝে উদ্দেশ্যহীন মেমে সম্পর্কে ছোট এবং মিষ্টি আপডেটগুলি পড়ুন।",
-  "settings_pane_topstories_options_sponsored": "বিজ্ঞাপনী গল্প দেখাও",
-  "pocket_description": "Pocket এর সাহায্যে, যা এখন Mozilla এর অংশ, উচ্চ মানের বিষয়বস্তু আবিষ্কার করুন যা আপনি অন্যথায় পেতেন না।"
+  "edit_topsites_add_button": "যুক্ত করুন"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-BD/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>নতুন ট্যাব</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ষ সাইটগুলি</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ওয়েবে সন্ধান করুন</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ওয়েবে সন্ধান করুন" title="ওয়েবে সন্ধান করুন"/><button id="searchSubmit" class="search-button" title="অনুসন্ধান"><span class="sr-only"><span>অনুসন্ধান</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>শীর্ষ সাইটগুলি</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="সাইটটি সম্পাদনা করুন"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket দ্বারা সুপারিশকৃত</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>জনপ্রিয় বিষয়:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>হাইলাইটস</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>কনটেক্স মেন্যু তে সেকশনটি খুলুন</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream-strings.js
@@ -5,56 +5,56 @@ window.gActivityStreamStrings = {
   "header_highlights": "হাইলাইটস",
   "header_recommended_by": "{provider} দ্বারা সুপারিশকৃত",
   "context_menu_button_sr": "{title} থেকে কনটেক্সট মেনু খুলুন",
   "section_context_menu_button_sr": "কনটেক্স মেন্যু তে সেকশনটি খুলুন",
   "type_label_visited": "দেখা হয়েছে",
   "type_label_bookmarked": "বুকমার্ক করা হয়েছে",
   "type_label_recommended": "ঝোঁক",
   "type_label_pocket": "Pocket এ সংরক্ষণ করুন",
-  "type_label_downloaded": "Downloaded",
+  "type_label_downloaded": "ডাউনলোড হয়েছে",
   "menu_action_bookmark": "বুকমার্ক",
   "menu_action_remove_bookmark": "বুকমার্ক সরান",
   "menu_action_open_new_window": "নতুন উইন্ডোর মধ্যে খুলুন",
   "menu_action_open_private_window": "নতুন প্রাইভেট উইন্ডোর মধ্যে খুলুন",
   "menu_action_dismiss": "বাতিল",
   "menu_action_delete": "তালিকা থেকে মুছে ফেলুন",
   "menu_action_pin": "পিন",
   "menu_action_unpin": "আনপিন",
   "confirm_history_delete_p1": "আপনি কি নিশ্চিতভাবে আপনার ইতিহাস থেকে এই পাতার সকল কিছু মুছে ফেলতে চান?",
   "confirm_history_delete_notice_p2": "এই পরিবর্তনটি অপরিবর্তনীয়।",
   "menu_action_save_to_pocket": "Pocket এ সংরক্ষণ করুন",
   "menu_action_delete_pocket": "Pocket থেকে মুছে দিন",
   "menu_action_archive_pocket": "Pocket এ আর্কাইভ করুন",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_show_file_mac_os": "ফাইন্ডারে প্রদর্শন করুন",
+  "menu_action_show_file_windows": "ধারণকারী ফোল্ডার খুলুন",
+  "menu_action_show_file_linux": "ধারণকারী ফোল্ডার খুলুন",
+  "menu_action_show_file_default": "ফাইল দেখান",
+  "menu_action_open_file": "ফাইল খুলুন",
+  "menu_action_copy_download_link": "ডাউনলোডের লিঙ্ক অনুলিপি করুন",
+  "menu_action_go_to_download_page": "ডাউনলোড পাতায় যাও",
+  "menu_action_remove_download": "ইতিহাস থেকে মুছে ফেলুন",
   "search_button": "অনুসন্ধান",
   "search_header": "{search_engine_name} এ অনুসন্ধান করুন",
   "search_web_placeholder": "ওয়েবে সন্ধান করুন",
   "section_disclaimer_topstories": "মজার মজার সব গল্প নির্বাচিত হয়েছে, আপনি যেমনটা পড়েন। Pocket এখন থেকে Mozilla এর অংশ।",
   "section_disclaimer_topstories_linktext": "কিভাবে কাজ করে জানুন।",
   "section_disclaimer_topstories_buttontext": "ঠিক আছে, বুঝেছি",
   "prefs_home_header": "Firefox Home কনটেন্ট",
   "prefs_home_description": "আপনার Firefox Home স্ক্রিনে যেসব কনটেন্ট রাখতে চান তা পছন্দ করুন।",
   "prefs_section_rows_option": "{num} সারি; {num} সারিগুলি",
   "prefs_search_header": "ওয়েব অনুসন্ধান",
   "prefs_topsites_description": "যে সাইটগুলিতে আপনি বেশি যান",
   "prefs_topstories_description2": "ওয়েবের দারুন সব কন্টেন্ট, নিজের মত করে সাঁজিয়ে নিন",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_options_sponsored_label": "স্পন্সর করা স্টোরি",
   "prefs_topstories_sponsored_learn_more": "আরও জানুন",
   "prefs_highlights_description": "সাইটের একটি সেকশন যা আপনি সংরক্ষণ অথবা গিয়েছিলেন",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
+  "prefs_highlights_options_visited_label": "ঘুরে আসা পেজ",
+  "prefs_highlights_options_download_label": "সর্বশেষ ডাউনলোড",
+  "prefs_highlights_options_pocket_label": "পেজটি Pocket এ সংরক্ষণ করা হয়েছে",
   "prefs_snippets_description": "Mozilla and Firefox থেকে হালনাগাদ",
   "settings_pane_button_label": "আপনার নতুন ট্যাব পেজটি কাস্টমাইজ করুন",
   "settings_pane_topsites_header": "শীর্ষ সাইট",
   "settings_pane_highlights_header": "হাইলাইটস",
   "settings_pane_highlights_options_bookmarks": "বুকমার্ক",
   "settings_pane_snippets_header": "টুকিটাকি",
   "edit_topsites_button_text": "সম্পাদনা",
   "edit_topsites_edit_button": "সাইটটি সম্পাদনা করুন",
@@ -80,49 +80,53 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "প্রয়োজন নেই",
   "manual_migration_import_button": "এখনই ইম্পোর্ট করুন",
   "error_fallback_default_info": "ওহো, কনটেন্টটি লোড করতে কিছু ভুল হয়েছে।",
   "error_fallback_default_refresh_suggestion": "পুনরায় চেস্টা করার জন্য পেজটি রিফ্রেশ করুন।",
   "section_menu_action_remove_section": "সেকশনটি সরান",
   "section_menu_action_collapse_section": "সেকশনটি সংকোচন করুন",
   "section_menu_action_expand_section": "সেকশনটি প্রসারিত করুন",
   "section_menu_action_manage_section": "সেকশনটি পরিচালনা করুন",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "টপ সাইট যোগ করুন",
   "section_menu_action_move_up": "উপরে উঠাও",
   "section_menu_action_move_down": "নীচে নামাও",
   "section_menu_action_privacy_notice": "গোপনীয়তা নীতি",
-  "prefs_restore_defaults_button": "ডিফল্ট পুনরুদ্ধার করুন",
-  "prefs_topstories_show_sponsored_label": "{provider} বিজ্ঞাপনী গল্প",
-  "settings_pane_header": "নতুন ট্যাব পছন্দসমূহ",
-  "settings_pane_body2": "আপনি এই পৃষ্ঠায় যা দেখেন তা পছন্দ করুন।",
-  "settings_pane_search_header": "অনুসন্ধান",
-  "settings_pane_search_body": "আপনার নতুন ট্যাব থেকে ওয়েবে খুঁজুন।",
-  "settings_pane_topsites_body": "আপনি যেসব সাইটে বেশি যান সেসব সাইটে প্রবেশ করুন।",
-  "settings_pane_topsites_options_showmore": "দুটি সারি দেখান",
-  "settings_pane_highlights_body2": "আপনি সম্প্রতি পরিদর্শন করেছেন বা বুকমার্ক করেছেন এমন আকর্ষণীয় বিষয়গুলিতে ফিরে যাবার পথ পান।",
-  "settings_pane_highlights_options_visited": "পূর্বে পরিদর্শন করা সাইটগুলি",
-  "settings_pane_snippets_body": "Mozilla থেকে Firefox, ইন্টারনেট সংস্কৃতি, এবং মাঝে মাঝে উদ্দেশ্যহীন মেমে সম্পর্কে ছোট এবং মিষ্টি আপডেটগুলি পড়ুন।",
-  "settings_pane_done_button": "হয়েছে",
-  "settings_pane_topstories_options_sponsored": "বিজ্ঞাপনী গল্প দেখাও",
-  "pocket_description": "Pocket এর সাহায্যে, যা এখন Mozilla এর অংশ, উচ্চ মানের বিষয়বস্তু আবিষ্কার করুন যা আপনি অন্যথায় পেতেন না।",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "লোড করা হচ্ছে…",
   "type_label_synced": "অন্য ডিভাইস থেকে সিঙ্ক করা হয়েছে",
   "type_label_open": "খুলুন",
   "type_label_topic": "বিষয়",
   "menu_action_copy_address": "ঠিকানা কপি করুন",
   "menu_action_email_link": "ই-মেইল লিংক…",
   "search_for_something_with": "{search_term} এর জন্য খুঁজুন সাথে:",
   "search_settings": "সার্চ সেটিংস বদল করুন",
   "welcome_title": "নতুন ট্যাবে স্বাগতম",
   "welcome_body": "আপনার সাথে মিলে এমন বুর্কমার্ক, নিবন্ধ, ভিডিও এবং পাতা যেগুলো আপনি সম্প্রতি ভ্রমণ করেছে তা Firefox এই জায়গায় দেখাবে, যাতে আপনি সেগুলো দ্রুত খুঁজে পান।",
   "welcome_label": "আপনার হাইলাইট সমূহ চিহ্নিত করা হচ্ছে",
   "time_label_less_than_minute": "<1মিনিট",
   "time_label_minute": "{number} মিনিট",
   "time_label_hour": "{number} ঘন্টা",
   "time_label_day": "{number} দিন",
+  "settings_pane_header": "নতুন ট্যাব পছন্দসমূহ",
+  "settings_pane_search_header": "অনুসন্ধান",
+  "settings_pane_search_body": "আপনার নতুন ট্যাব থেকে ওয়েবে খুঁজুন।",
+  "settings_pane_topsites_body": "আপনি যেসব সাইটে বেশি যান সেসব সাইটে প্রবেশ করুন।",
+  "settings_pane_topsites_options_showmore": "দুটি সারি দেখান",
+  "settings_pane_done_button": "হয়েছে",
   "edit_topsites_button_label": "আপনার শীর্ষ সাইট সেকশন কাস্টমাইজ করুন",
   "edit_topsites_showmore_button": "আরও দেখান",
   "edit_topsites_showless_button": "কম দেখান",
   "edit_topsites_done_button": "হয়েছে",
   "edit_topsites_pin_button": "সাইটটি পিন করুন",
   "edit_topsites_dismiss_button": "সাইটটি মুছে দিন",
   "edit_topsites_add_button": "যুক্ত করুন"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bn-IN/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ivinell nevez</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lec&#x27;hiennoù pennañ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Danvezioù brudet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personelait ho pajenn Ivinell Nevez"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Klask er web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Klask er web" title="Klask er web"/><button id="searchSubmit" class="search-button" title="Klask"><span class="sr-only"><span>Klask</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lec&#x27;hiennoù pennañ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embann al lec&#x27;hienn-mañ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Erbedet gant Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Danvezioù brudet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mareoù pouezus</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Digeriñ lañser kemperzhel al lodenn-mañ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personelait ho pajenn Ivinell Nevez"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/br/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "N'am bo ket",
   "manual_migration_import_button": "Emporzhiañ bremañ",
   "error_fallback_default_info": "Chaous, un dra bennak a zo a-dreuz en ur gargañ an endalc'had.",
   "error_fallback_default_refresh_suggestion": "Adkargit ar bajenn evit klask en-dro.",
   "section_menu_action_remove_section": "Dilemel ar gevrenn",
   "section_menu_action_collapse_section": "Bihanaat ar gevrenn",
   "section_menu_action_expand_section": "Astenn ar gevrenn",
   "section_menu_action_manage_section": "Merañ ar gevrenn",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Ouzhpennañ ul lec'hienn gwellañ din",
   "section_menu_action_move_up": "Dilec'hiañ etrezek ar c'hrec'h",
   "section_menu_action_move_down": "Dilec'hiañ etrezek an traoñ",
   "section_menu_action_privacy_notice": "Evezhiadennoù a-fet buhez prevez",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Assav an arventennoù dre ziouer",
   "settings_pane_header": "Gwellvezioù an ivinell nevez",
   "settings_pane_body2": "Dibabit petra a welit war ar bajenn-mañ.",
   "settings_pane_search_header": "Klask",
   "settings_pane_search_body": "Klask er web adalek an ivinell nevez.",
   "settings_pane_topsites_body": "Kit war al lec'hiennoù gweladennet ar muiañ ganeoc'h.",
   "settings_pane_topsites_options_showmore": "Diskouez daou vann",
   "settings_pane_highlights_body2": "Adkavit an traoù dedennus gweladennet pe lakaet er sinedoù nevez ’zo.",
--- a/browser/extensions/activity-stream/prerendered/locales/br/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/br/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Novi tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najposjećenije stranice</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prilagodite svoju početnu stranicu novog taba"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najposjećenije stranice</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorite kontekstni meni sekcije</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prilagodite svoju početnu stranicu novog taba"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ne, hvala",
   "manual_migration_import_button": "Uvezi sada",
   "error_fallback_default_info": "Ups, došlo je do greške pri učitavanju ovog sadržaja.",
   "error_fallback_default_refresh_suggestion": "Osvježite stranicu da biste pokušali ponovo.",
   "section_menu_action_remove_section": "Ukloni sekciju",
   "section_menu_action_collapse_section": "Skupi sekciju",
   "section_menu_action_expand_section": "Proširi sekciju",
   "section_menu_action_manage_section": "Upravljaj sekcijom",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Dodajte omiljenu stranicu",
   "section_menu_action_move_up": "Pomjeri gore",
   "section_menu_action_move_down": "Pomjeri dole",
   "section_menu_action_privacy_notice": "Polica privatnosti",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Vrati na izvorne vrijednosti",
   "settings_pane_header": "Postavke novog taba",
   "settings_pane_body2": "Izaberite šta želite vidjeti na ovoj stranici.",
   "settings_pane_search_header": "Traži",
   "settings_pane_search_body": "Pretražite web iz novog taba.",
   "settings_pane_topsites_body": "Pristupite stranicama koje najčešće posjećujete.",
   "settings_pane_topsites_options_showmore": "Prikaži dva reda",
   "settings_pane_highlights_body2": "Pronađite put natrag do zanimljivih stvari koje ste nedavno posjetili ili zabilježili.",
--- a/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/bs/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Pestanya nova</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca al web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca al web" title="Cerca al web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Llocs principals</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Obre el menú contextual de la secció</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomanat per Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Obre el menú contextual de la secció</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacats</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Obre el menú contextual de la secció</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalitzeu la pàgina de pestanya nova"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca al web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca al web" title="Cerca al web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Llocs principals</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Obre el menú contextual de la secció</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edita aquest lloc"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomanat per Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Obre el menú contextual de la secció</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temes populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacats</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Obre el menú contextual de la secció</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalitzeu la pàgina de pestanya nova"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No, gràcies",
   "manual_migration_import_button": "Importa-ho ara",
   "error_fallback_default_info": "Vaja, s'ha produït un error en carregar aquest contingut.",
   "error_fallback_default_refresh_suggestion": "Actualitzeu la pàgina per tornar-ho a provar.",
   "section_menu_action_remove_section": "Elimina la secció",
   "section_menu_action_collapse_section": "Redueix la secció",
   "section_menu_action_expand_section": "Amplia la secció",
   "section_menu_action_manage_section": "Gestiona la secció",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Afegeix com a lloc principal",
   "section_menu_action_move_up": "Mou cap amunt",
   "section_menu_action_move_down": "Mou cap avall",
   "section_menu_action_privacy_notice": "Avís de privadesa",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaura els valors per defecte",
   "prefs_topstories_description": "Contingut d'alta qualitat que d'altra manera potser us passaria per alt",
   "prefs_topstories_show_sponsored_label": "Articles patrocinats per {provider}",
   "settings_pane_header": "Preferències de pestanya nova",
   "settings_pane_body2": "Trieu què voleu veure en aquesta pàgina.",
   "settings_pane_search_header": "Cerca",
   "settings_pane_search_body": "Cerca al web des de la pestanya nova.",
   "settings_pane_topsites_body": "Accediu als llocs web que visiteu més sovint.",
--- a/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ca/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>K'ak'a' ruwi'</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tikanöx pa Ajk&#x27;amaya&#x27;l</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tikanöx pa Ajk&#x27;amaya&#x27;l" title="Tikanöx pa Ajk&#x27;amaya&#x27;l"/><button id="searchSubmit" class="search-button" title="Tikanöx"><span class="sr-only"><span>Tikanöx</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Utziläj taq Ruxaq K&#x27;amaya&#x27;l</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Tijaq ruperaj rokem k&#x27;utsamaj</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Chilab&#x27;en ruma Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Tijaq ruperaj rokem k&#x27;utsamaj</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Nima&#x27;q taq Na&#x27;oj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Taq k&#x27;ewachinïk</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Tijaq ruperaj rokem k&#x27;utsamaj</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tawichinaj ri ruxaq richin K&#x27;ak&#x27;a&#x27; Ruwi&#x27;"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tikanöx pa Ajk&#x27;amaya&#x27;l</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tikanöx pa Ajk&#x27;amaya&#x27;l" title="Tikanöx pa Ajk&#x27;amaya&#x27;l"/><button id="searchSubmit" class="search-button" title="Tikanöx"><span class="sr-only"><span>Tikanöx</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Utziläj taq Ruxaq K&#x27;amaya&#x27;l</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Tijaq ruperaj rokem k&#x27;utsamaj</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tinuk&#x27; re ruxaq k&#x27;amaya&#x27;l re&#x27;"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Chilab&#x27;en ruma Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Tijaq ruperaj rokem k&#x27;utsamaj</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Nima&#x27;q taq Na&#x27;oj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Taq k&#x27;ewachinïk</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Tijaq ruperaj rokem k&#x27;utsamaj</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tawichinaj ri ruxaq richin K&#x27;ak&#x27;a&#x27; Ruwi&#x27;"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Mani matyox",
   "manual_migration_import_button": "Tijik' pe",
   "error_fallback_default_info": "Uy, k'o jun itzel xel toq nisamajib'ëx re rupam re'.",
   "error_fallback_default_refresh_suggestion": "Titzolïx ruxaq richin nitojtob'ëx chik.",
   "section_menu_action_remove_section": "Tiyuj Tanaj",
   "section_menu_action_collapse_section": "Tiwulüx Peraj",
   "section_menu_action_expand_section": "Tirik' Peraj",
   "section_menu_action_manage_section": "Tinuk'samajïx Peraj",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Titz'aqatisäx K'ïy Ruwinaq Ruxaq K'amaya'l",
   "section_menu_action_move_up": "Tijotob'äx",
   "section_menu_action_move_down": "Tiqasäx qa",
   "section_menu_action_privacy_notice": "Ichinan na'oj",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Ketzolïx ri e K'o wi",
   "prefs_topstories_show_sponsored_label": "{provider} To'on taq B'anob'äl",
   "settings_pane_header": "K'ak'a' Ruwi' Taq Ajowab'äl",
   "settings_pane_body2": "Tacha' ri natzu' pa re ruxaq re'.",
   "settings_pane_search_header": "Tikanöx",
   "settings_pane_search_body": "Tikanoj ri k'ak'a' taq ruwi' pa ri K'amaya'l.",
   "settings_pane_topsites_body": "Katok pa ri taq ajk'amaya'l yalan ye'atz'ët.",
   "settings_pane_topsites_options_showmore": "Kek'ut pe ka'i' cholaj",
--- a/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cak/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yañı İlmek</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ağ&#x27;da qıdır</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ağ&#x27;da qıdır" title="Ağ&#x27;da qıdır"/><button id="searchSubmit" class="search-button" title="Qıdır"><span class="sr-only"><span>Qıdır</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Zirvedeki Saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket tevsiyeli</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Yüksek-ışıtmalar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ağ&#x27;da qıdır</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ağ&#x27;da qıdır" title="Ağ&#x27;da qıdır"/><button id="searchSubmit" class="search-button" title="Qıdır"><span class="sr-only"><span>Qıdır</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Zirvedeki Saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsini aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket tevsiyeli</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Yüksek-ışıtmalar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsini aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/crh/activity-stream-strings.js
@@ -80,14 +80,26 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Hususiyat Tebliği",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "settings_pane_search_header": "Qıdır"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/crh/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/crh/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nový panel</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhledat na webu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhledat na webu" title="Vyhledat na webu"/><button id="searchSubmit" class="search-button" title="Vyhledat"><span class="sr-only"><span>Vyhledat</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top stránky</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Doporučení ze služby Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populární témata:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Přizpůsobení stránky nového panelu"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhledat na webu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhledat na webu" title="Vyhledat na webu"/><button id="searchSubmit" class="search-button" title="Vyhledat"><span class="sr-only"><span>Vyhledat</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top stránky</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upravit tuto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Doporučení ze služby Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populární témata:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otevřít kontextovou nabídku sekce</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Přizpůsobení stránky nového panelu"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ne, děkuji",
   "manual_migration_import_button": "Importovat nyní",
   "error_fallback_default_info": "Jejda, při načítání tohoto obsahu se něco pokazilo.",
   "error_fallback_default_refresh_suggestion": "Obnovte prosím stránku a zkuste to znovu.",
   "section_menu_action_remove_section": "Odebrat sekci",
   "section_menu_action_collapse_section": "Sbalit sekci",
   "section_menu_action_expand_section": "Rozbalit sekci",
   "section_menu_action_manage_section": "Nastavení sekce",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Přidat mezi top stránky",
   "section_menu_action_move_up": "Posunout nahoru",
   "section_menu_action_move_down": "Posunout dolů",
   "section_menu_action_privacy_notice": "Zásady ochrany osobních údajů",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Obnovit výchozí",
   "settings_pane_header": "Předvolby nového panelu",
   "settings_pane_body2": "Vyberte, co chcete na této stránce vidět.",
   "settings_pane_search_header": "Vyhledávání",
   "settings_pane_search_body": "Vyhledávání na webu rovnou ze stránky nového panelu.",
   "settings_pane_topsites_body": "Přístup k nejčastěji navštěvovaným stránkám.",
   "settings_pane_topsites_options_showmore": "Zobrazit dva řádky",
   "settings_pane_highlights_body2": "Najděte cestu zpět k zajímavým věcem, které jste nedávno viděli nebo uložili do záložek.",
--- a/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cs/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab Newydd</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Chwilio&#x27;r We</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Chwilio&#x27;r We" title="Chwilio&#x27;r We"/><button id="searchSubmit" class="search-button" title="Chwilio"><span class="sr-only"><span>Chwilio</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Hoff Wefannau</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Argymhellwyd gan Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Pynciau Poblogaidd:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Goreuon</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Cyfaddasu eich tudalen Tab Newydd"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Chwilio&#x27;r We</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Chwilio&#x27;r We" title="Chwilio&#x27;r We"/><button id="searchSubmit" class="search-button" title="Chwilio"><span class="sr-only"><span>Chwilio</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Hoff Wefannau</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Golygu&#x27;r wefan"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Argymhellwyd gan Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Pynciau Poblogaidd:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Goreuon</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Agor dewislen cyd-destun yr adran</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Cyfaddasu eich tudalen Tab Newydd"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Dim Diolch",
   "manual_migration_import_button": "Mewnforio Nawr",
   "error_fallback_default_info": "Wps, aeth rhywbeth o'i le wrth llwytho'r cynnwys hwn.",
   "error_fallback_default_refresh_suggestion": "Adnewyddu'r dudalen i geisio eto.",
   "section_menu_action_remove_section": "Tynnu'r Adran",
   "section_menu_action_collapse_section": "Cau'r Adran",
   "section_menu_action_expand_section": "Estyn yr Adran",
   "section_menu_action_manage_section": "Rheoli'r Adran",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Ychwanegu Hoff Wefan",
   "section_menu_action_move_up": "Symud i Fyny",
   "section_menu_action_move_down": "Symud i Lawr",
   "section_menu_action_privacy_notice": "Hysbysiad Preifatrwydd",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Adfer y Rhagosodedig",
   "settings_pane_header": "Dewisiadau Tab Newydd",
   "settings_pane_body2": "Dewis beth fyddwch yn ei weld ar y dudalen hon.",
   "settings_pane_search_header": "Chwilio",
   "settings_pane_search_body": "Chwilio'r We o'ch tab newydd.",
   "settings_pane_topsites_body": "Cael mynediad at y gwefannau rydych yn ymweld â nhw amlaf.",
   "settings_pane_topsites_options_showmore": "Dangos dwy res",
   "settings_pane_highlights_body2": "Mynd yn ôl at bethau diddorol rydych wedi ymweld â nhw neu osod nod tudalen iddyn nhw.",
--- a/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/cy/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nyt faneblad</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søg på internettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søg på internettet" title="Søg på internettet"/><button id="searchSubmit" class="search-button" title="Søg"><span class="sr-only"><span>Søg</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besøgte websider</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åbn genvejsmenuen afsnit</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalet af Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åbn genvejsmenuen afsnit</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Fremhævede</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åbn genvejsmenuen afsnit</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tilpas siden Nyt faneblad"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søg på internettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søg på internettet" title="Søg på internettet"/><button id="searchSubmit" class="search-button" title="Søg"><span class="sr-only"><span>Søg</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besøgte websider</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åbn genvejsmenuen afsnit</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne webside"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalet af Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åbn genvejsmenuen afsnit</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Fremhævede</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åbn genvejsmenuen afsnit</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tilpas siden Nyt faneblad"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/da/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nej tak",
   "manual_migration_import_button": "Importer nu",
   "error_fallback_default_info": "Hovsa. Noget gik galt ved indlæsning af indholdet.",
   "error_fallback_default_refresh_suggestion": "Genindlæs siden og prøv igen.",
   "section_menu_action_remove_section": "Fjern afsnit",
   "section_menu_action_collapse_section": "Sammenfold afsnit",
   "section_menu_action_expand_section": "Udvid afsnit",
   "section_menu_action_manage_section": "Håndter afsnit",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Tilføj ny webside",
   "section_menu_action_move_up": "Flyt op",
   "section_menu_action_move_down": "Flyt ned",
   "section_menu_action_privacy_notice": "Privatlivspolitik",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Gendan standarder",
   "settings_pane_header": "Indstillinger for Nyt faneblad",
   "settings_pane_body2": "Vælg, hvad du vil se på denne side.",
   "settings_pane_search_header": "Søgning",
   "settings_pane_search_body": "Søg på nettet fra Nyt faneblad.",
   "settings_pane_topsites_body": "Adgang til de websider, du besøger oftest.",
   "settings_pane_topsites_options_showmore": "Vis to rækker",
   "settings_pane_highlights_body2": "Find tilbage til interessant indhold, du har besøgt eller gemt et bogmærke til for nylig.",
--- a/browser/extensions/activity-stream/prerendered/locales/da/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/da/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Neuer Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Das Web durchsuchen</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Das Web durchsuchen" title="Das Web durchsuchen"/><button id="searchSubmit" class="search-button" title="Suchen"><span class="sr-only"><span>Suchen</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Wichtige Seiten</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Empfohlen von Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Beliebte Themen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Überblick</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Einstellungen für neue Tabs anpassen"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Das Web durchsuchen</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Das Web durchsuchen" title="Das Web durchsuchen"/><button id="searchSubmit" class="search-button" title="Suchen"><span class="sr-only"><span>Suchen</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Wichtige Seiten</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Diese Website bearbeiten"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Empfohlen von Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Beliebte Themen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Überblick</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontextmenü des Abschnitts öffnen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Einstellungen für neue Tabs anpassen"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/de/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nein, danke",
   "manual_migration_import_button": "Jetzt importieren",
   "error_fallback_default_info": "Beim Laden dieses Inhalts ist ein Fehler aufgetreten.",
   "error_fallback_default_refresh_suggestion": "Aktualisieren Sie die Seite, um es erneut zu versuchen.",
   "section_menu_action_remove_section": "Abschnitt entfernen",
   "section_menu_action_collapse_section": "Abschnitt einklappen",
   "section_menu_action_expand_section": "Abschnitt ausklappen",
   "section_menu_action_manage_section": "Abschnitt verwalten",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Wichtige Seite hinzufügen",
   "section_menu_action_move_up": "Nach oben schieben",
   "section_menu_action_move_down": "Nach unten schieben",
   "section_menu_action_privacy_notice": "Datenschutzhinweis",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Standard wiederherstellen",
   "settings_pane_header": "Einstellungen für neue Tabs",
   "settings_pane_body2": "Wählen Sie aus, was auf dieser Seite angezeigt wird.",
   "settings_pane_search_header": "Suche",
   "settings_pane_search_body": "Suchen Sie aus einem neuen Tab im Internet.",
   "settings_pane_topsites_body": "Schneller Zugriff auf Ihre meistbesuchten Websites.",
   "settings_pane_topsites_options_showmore": "Zwei Reihen anzeigen",
   "settings_pane_highlights_body2": "Finden Sie schnell wieder zu den wichtigen Seiten zurück, die Sie kürzlich besucht oder als Lesezeichen gespeichert haben.",
--- a/browser/extensions/activity-stream/prerendered/locales/de/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/de/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nowy rejtark</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web pśepytaś</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web pśepytaś" title="Web pśepytaś"/><button id="searchSubmit" class="search-button" title="Pytaś"><span class="sr-only"><span>Pytaś</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Nejcesćej woglědane sedła</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wót Pocket dopórucony</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Bok wašogo nowego rejtarka pśiměriś"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web pśepytaś</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web pśepytaś" title="Web pśepytaś"/><button id="searchSubmit" class="search-button" title="Pytaś"><span class="sr-only"><span>Pytaś</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Nejcesćej woglědane sedła</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Toś to sedło wobźěłaś"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wót Pocket dopórucony</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wótrězka wócyniś</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Bok wašogo nowego rejtarka pśiměriś"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ně, źěkujom se",
   "manual_migration_import_button": "Něnto importěrowaś",
   "error_fallback_default_info": "Hopla, pśi cytanju toś togo wopśimjeśa njejo se něco raźiło.",
   "error_fallback_default_refresh_suggestion": "Aktualizěrujśo bok, aby hyšći raz wopytał.",
   "section_menu_action_remove_section": "Wótrězk wótwónoźeś",
   "section_menu_action_collapse_section": "Wótrězk schowaś",
   "section_menu_action_expand_section": "Wótrězk pokazaś",
   "section_menu_action_manage_section": "Wótrězk zastojaś",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Woblubowane sedło pśidaś",
   "section_menu_action_move_up": "Górjej",
   "section_menu_action_move_down": "Dołoj",
   "section_menu_action_privacy_notice": "Powěźeńka priwatnosći",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Standard wótnowiś",
   "settings_pane_header": "Nastajenja nowego rejtarka składowaś",
   "settings_pane_body2": "Wubjeŕśo, což se na toś tom boku pokazujo.",
   "settings_pane_search_header": "Pytaś",
   "settings_pane_search_body": "Pśepytajśo web ze swójogo nowego rejtarka.",
   "settings_pane_topsites_body": "Wócyńśo websedła, kótarež sćo se nejcesćej woglědał.",
   "settings_pane_topsites_options_showmore": "Dwě smužki pokazaś",
   "settings_pane_highlights_body2": "Namakajśo swóju drogu slědk k zajmnym bokam, kótarež sćo se njedawno woglědał abo ako cytańske znamjenja składł.",
--- a/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/dsb/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Νέα καρτέλα</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Αναζήτηση στον ιστό</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Αναζήτηση στον ιστό" title="Αναζήτηση στον ιστό"/><button id="searchSubmit" class="search-button" title="Αναζήτηση"><span class="sr-only"><span>Αναζήτηση</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Κορυφαίες ιστοσελίδες</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Προτεινόμενο από τον πάροχο Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Δημοφιλή θέματα:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Κορυφαίες στιγμές</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Προσαρμογή της σελίδας Νέας Καρτέλας"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Αναζήτηση στον ιστό</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Αναζήτηση στον ιστό" title="Αναζήτηση στον ιστό"/><button id="searchSubmit" class="search-button" title="Αναζήτηση"><span class="sr-only"><span>Αναζήτηση</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Κορυφαίες ιστοσελίδες</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Επεξεργασία ιστοσελίδας"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Προτεινόμενο από τον πάροχο Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Δημοφιλή θέματα:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Κορυφαίες στιγμές</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Προσαρμογή της σελίδας Νέας Καρτέλας"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/el/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Όχι ευχαριστώ",
   "manual_migration_import_button": "Εισαγωγή τώρα",
   "error_fallback_default_info": "Ωχ, κάτι πήγε στραβά κατά τη φόρτωση του περιεχομένου.",
   "error_fallback_default_refresh_suggestion": "Ανανεώστε τη σελίδα για να δοκιμάσετε ξανά.",
   "section_menu_action_remove_section": "Αφαίρεση ενότητας",
   "section_menu_action_collapse_section": "Σύμπτυξη ενότητας",
   "section_menu_action_expand_section": "Επέκταση ενότητας",
   "section_menu_action_manage_section": "Διαχείριση ενότητας",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Προσθήκη κορυφαίας ιστοσελίδας",
   "section_menu_action_move_up": "Μετακίνηση επάνω",
   "section_menu_action_move_down": "Μετακίνηση κάτω",
   "section_menu_action_privacy_notice": "Σημείωση απορρήτου",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Επαναφορά προεπιλογών",
   "prefs_topstories_description": "Υψηλής ποιότητας περιεχόμενο που ίσως έχετε χάσει",
   "prefs_topstories_show_sponsored_label": "Χορηγούμενες ιστορίες του {provider}",
   "settings_pane_header": "Προτιμήσεις νέας καρτέλας",
   "settings_pane_body2": "Επιλέξτε τι θα βλέπετε σε αυτή τη σελίδα.",
   "settings_pane_search_header": "Αναζήτηση",
   "settings_pane_search_body": "Αναζήτηση στο διαδίκτυο από τη νέα σας καρτέλα.",
   "settings_pane_topsites_body": "Πρόσβαση στις ιστοσελίδες που επισκέπτεστε περισσότερο.",
--- a/browser/extensions/activity-stream/prerendered/locales/el/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/el/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customise your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream-strings.js
@@ -46,17 +46,17 @@ window.gActivityStreamStrings = {
   "prefs_topstories_description2": "Great content from around the web, personalized for you",
   "prefs_topstories_options_sponsored_label": "Sponsored Stories",
   "prefs_topstories_sponsored_learn_more": "Learn more",
   "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
   "prefs_highlights_options_visited_label": "Visited Pages",
   "prefs_highlights_options_download_label": "Most Recent Download",
   "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
   "prefs_snippets_description": "Updates from Mozilla and Firefox",
-  "settings_pane_button_label": "Customise your New Tab page",
+  "settings_pane_button_label": "Customize your New Tab page",
   "settings_pane_topsites_header": "Top Sites",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_options_bookmarks": "Bookmarks",
   "settings_pane_snippets_header": "Snippets",
   "edit_topsites_button_text": "Edit",
   "edit_topsites_edit_button": "Edit this site",
   "topsites_form_add_header": "Top Sites",
   "topsites_form_edit_header": "Edit Top Site",
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restore Defaults",
   "prefs_topstories_description": "High-quality content you might otherwise miss",
   "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_body": "Access the web sites you visit most.",
--- a/browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-CA/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customise your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customise your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream-strings.js
@@ -80,28 +80,40 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_body": "Access the web sites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
-  "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
-  "prefs_topstories_description": "High-quality content you might otherwise miss",
-  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories"
+  "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-GB/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream-strings.js
@@ -80,28 +80,40 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restore Defaults",
+  "prefs_topstories_description": "High-quality content you might otherwise miss",
+  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories",
   "settings_pane_header": "New Tab Preferences",
   "settings_pane_body2": "Choose what you see on this page.",
   "settings_pane_search_header": "Search",
   "settings_pane_search_body": "Search the Web from your new tab.",
   "settings_pane_topsites_body": "Access the web sites you visit most.",
   "settings_pane_topsites_options_showmore": "Show two rows",
   "settings_pane_highlights_body2": "Find your way back to interesting things you’ve recently visited or bookmarked.",
   "settings_pane_highlights_options_visited": "Visited Sites",
   "settings_pane_snippets_body": "Read short and sweet updates from Mozilla about Firefox, internet culture, and the occasional random meme.",
   "settings_pane_done_button": "Done",
   "settings_pane_topstories_options_sponsored": "Show Sponsored Stories",
-  "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla.",
-  "prefs_topstories_description": "High-quality content you might otherwise miss",
-  "prefs_topstories_show_sponsored_label": "{provider} Sponsored Stories"
+  "pocket_description": "Discover high-quality content you might otherwise miss, with help from Pocket, now part of Mozilla."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/en-US/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova langeto</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Serĉi la reton</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Serĉi la reton" title="Serĉi la reton"/><button id="searchSubmit" class="search-button" title="Serĉi"><span class="sr-only"><span>Serĉi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Plej vizititaj</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Malfermi sekcion de kunteksta menuo</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendita de Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Malfermi sekcion de kunteksta menuo</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ĉefaj temoj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Elstaraĵoj</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Malfermi sekcion de kunteksta menuo</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personecigi la paĝon por novaj langetoj"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Serĉi la reton</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Serĉi la reton" title="Serĉi la reton"/><button id="searchSubmit" class="search-button" title="Serĉi"><span class="sr-only"><span>Serĉi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Plej vizititaj</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Malfermi sekcion de kunteksta menuo</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redakti ĉi tiun retejon"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendita de Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Malfermi sekcion de kunteksta menuo</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ĉefaj temoj:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Elstaraĵoj</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Malfermi sekcion de kunteksta menuo</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personecigi la paĝon por novaj langetoj"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream-strings.js
@@ -5,56 +5,56 @@ window.gActivityStreamStrings = {
   "header_highlights": "Elstaraĵoj",
   "header_recommended_by": "Rekomendita de {provider}",
   "context_menu_button_sr": "Malfermi kuntekstan menu por {title}",
   "section_context_menu_button_sr": "Malfermi sekcion de kunteksta menuo",
   "type_label_visited": "Vizitita",
   "type_label_bookmarked": "Kun legosigno",
   "type_label_recommended": "Tendencoj",
   "type_label_pocket": "Konservita en Pocket",
-  "type_label_downloaded": "Downloaded",
+  "type_label_downloaded": "Elŝutita",
   "menu_action_bookmark": "Aldoni legosignon",
   "menu_action_remove_bookmark": "Forigi legosignon",
   "menu_action_open_new_window": "Malfermi en nova fenestro",
   "menu_action_open_private_window": "Malfermi en nova privata fenestro",
   "menu_action_dismiss": "Ignori",
   "menu_action_delete": "Forigi el historio",
   "menu_action_pin": "Alpingli",
   "menu_action_unpin": "Depingli",
   "confirm_history_delete_p1": "Ĉu vi certe volas forigi ĉiun aperon de tiu ĉi paĝo el via historio?",
   "confirm_history_delete_notice_p2": "Tiu ĉi ago ne estas malfarebla.",
   "menu_action_save_to_pocket": "Konservi en Pocket",
   "menu_action_delete_pocket": "Forigi el Pocket",
   "menu_action_archive_pocket": "Arĥivi en Pocket",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_show_file_mac_os": "Montri en Finder",
+  "menu_action_show_file_windows": "Malfermi entenantan dosierujon",
+  "menu_action_show_file_linux": "Malfermi entenantan dosierujon",
+  "menu_action_show_file_default": "Montri dosieron",
+  "menu_action_open_file": "Malfermi dosieron",
+  "menu_action_copy_download_link": "Kopii elŝutan ligilon",
+  "menu_action_go_to_download_page": "Iri al la paĝo de elŝuto",
+  "menu_action_remove_download": "Forigi el la historio",
   "search_button": "Serĉi",
   "search_header": "Serĉo de {search_engine_name}",
   "search_web_placeholder": "Serĉi la reton",
   "section_disclaimer_topstories": "La plej interesaj artikoloj en la reto, elektitaj surbaze de tio, kion vi legas. Hecho por Pocket, kiu estas nun parto de Mozilla.",
   "section_disclaimer_topstories_linktext": "Vidi kiel tio funkcias.",
   "section_disclaimer_topstories_buttontext": "En ordo, mi komprenis",
   "prefs_home_header": "Enhavo de la hejmekrano de Firefox",
   "prefs_home_description": "Elektu la enhavon, kiun vi volas en via hejmekrano de Firefox.",
   "prefs_section_rows_option": "{num} vico;{num} vicoj",
   "prefs_search_header": "Serĉo en la reto",
   "prefs_topsites_description": "Viaj plej vizititaj retejoj",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_description2": "Bonega enhavo de la tuta Teksaĵo, personecigita por vi",
+  "prefs_topstories_options_sponsored_label": "Patronitaj artikoloj",
   "prefs_topstories_sponsored_learn_more": "Pli da informo",
   "prefs_highlights_description": "Retejoj elektitaj inter tiuj, kiun vi vizitis aŭ konservis",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
+  "prefs_highlights_options_visited_label": "Vizititaj paĝoj",
+  "prefs_highlights_options_download_label": "Lasta elŝuto",
+  "prefs_highlights_options_pocket_label": "Paĝoj konservitaj en Pocket",
   "prefs_snippets_description": "Ĝisdatigoj de Mozilla kaj Firefox",
   "settings_pane_button_label": "Personecigi la paĝon por novaj langetoj",
   "settings_pane_topsites_header": "Plej vizitaj",
   "settings_pane_highlights_header": "Elstaraĵoj",
   "settings_pane_highlights_options_bookmarks": "Legosignoj",
   "settings_pane_snippets_header": "Fragmentoj",
   "edit_topsites_button_text": "Redakti",
   "edit_topsites_edit_button": "Redakti ĉi tiun retejon",
@@ -80,28 +80,25 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ne, dankon",
   "manual_migration_import_button": "Importi nun",
   "error_fallback_default_info": "Fuŝ', io malbona okazis dum ŝargo de tiu ĉi enhavo.",
   "error_fallback_default_refresh_suggestion": "Refreŝigi paĝon por klopodi denove.",
   "section_menu_action_remove_section": "Forigi sekcion",
   "section_menu_action_collapse_section": "Faldi sekcion",
   "section_menu_action_expand_section": "Malfaldi sekcion",
   "section_menu_action_manage_section": "Administri sekcion",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Aldoni oftan retejon",
   "section_menu_action_move_up": "Movi supren",
   "section_menu_action_move_down": "Movi malsupren",
   "section_menu_action_privacy_notice": "Rimarko pri privateco",
-  "prefs_restore_defaults_button": "Remeti normojn",
-  "prefs_topstories_description": "Altkvalita enhavo, kiun aliokaze vi povus maltrafi",
-  "prefs_topstories_show_sponsored_label": "Patronitaj artikoloj de {provider}",
-  "settings_pane_header": "Preferoj pri nova langeto",
-  "settings_pane_body2": "Elektu tion, kion vi vidas en tiu ĉi paĝo.",
-  "settings_pane_search_header": "Serĉi",
-  "settings_pane_search_body": "Serĉi la Teksaĵon el via nova langeto.",
-  "settings_pane_topsites_body": "Aliri la plej ofte vizitajn retejojn.",
-  "settings_pane_topsites_options_showmore": "Montri en du vicoj",
-  "settings_pane_highlights_body2": "Retrovu la vojon reen al interesaj aferoj, kiujn vi antaŭ nelonge vizitis aŭ por kiuj vi aldonis legosignon.",
-  "settings_pane_highlights_options_visited": "Vizititaj retejoj",
-  "settings_pane_snippets_body": "Legu mallongaj novaĵojn de Mozila pri Firefox, interreta kulturo kaj, de tempo al tempo, hazarda «meme».",
-  "settings_pane_done_button": "Farita",
-  "settings_pane_topstories_options_sponsored": "Montri patronitajn artikolojn",
-  "pocket_description": "Malkovru altkvalitan enhavon, kiun vi povus aliokaze neniam trovi, per helpo de Pocket, kiu nun estas parto de Mozilla."
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/eo/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la web" title="Buscar en la web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar la página nueva pestaña"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la web" title="Buscar en la web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Más visitados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir el menú contextual de la sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar la página nueva pestaña"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No gracias",
   "manual_migration_import_button": "Importar ahora",
   "error_fallback_default_info": "Epa, algo salió mal al cargar este contenido.",
   "error_fallback_default_refresh_suggestion": "Refrescar la página para reintentar.",
   "section_menu_action_remove_section": "Eliminar sección",
   "section_menu_action_collapse_section": "Colapsar sección",
   "section_menu_action_expand_section": "Expandir sección",
   "section_menu_action_manage_section": "Administrar sección",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Agregar Sitio más visitado",
   "section_menu_action_move_up": "Subir",
   "section_menu_action_move_down": "Bajar",
   "section_menu_action_privacy_notice": "Nota de privacidad",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar Predeterminados",
   "settings_pane_header": "Preferencia de nueva pestaña",
   "settings_pane_body2": "Seleccionar lo que se ve en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Buscar en la Web desde nueva pestaña.",
   "settings_pane_topsites_body": "Acceder a los sitios web más visitados.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_highlights_body2": "Encuentre el camino de vuelta a las páginas interesantes que visitó o que marcó como favorito.",
--- a/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-AR/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios frecuentes</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza tu página de Nueva pestaña"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios frecuentes</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir sección del menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personaliza tu página de Nueva pestaña"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No, gracias",
   "manual_migration_import_button": "Importar ahora",
   "error_fallback_default_info": "Chuta, algo se fue a las pailas al cargar este contenido.",
   "error_fallback_default_refresh_suggestion": "Recarga la página para volver a intentarlo.",
   "section_menu_action_remove_section": "Eliminar sección",
   "section_menu_action_collapse_section": "Contraer sección",
   "section_menu_action_expand_section": "Expandir sección",
   "section_menu_action_manage_section": "Gestionar sección",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Añadir sitio frecuente",
   "section_menu_action_move_up": "Subir",
   "section_menu_action_move_down": "Bajar",
   "section_menu_action_privacy_notice": "Aviso de privacidad",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar predeterminados",
   "settings_pane_header": "Preferencias de Nueva pestaña",
   "settings_pane_body2": "Elige qué es lo que ves en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Busca en la Web desde tu nueva pestaña.",
   "settings_pane_topsites_body": "Accede a los sitios que más visitas.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_highlights_body2": "Encuentra tu camino de regreso a las cosas interesantes que ya has visitado o marcado.",
--- a/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-CL/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios favoritos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar la página Nueva pestaña"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios favoritos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar la página Nueva pestaña"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No, gracias",
   "manual_migration_import_button": "Importar ahora",
   "error_fallback_default_info": "Lo sentimos, algo salió mal al cargar el contenido.",
   "error_fallback_default_refresh_suggestion": "Recargue la página e inténtelo de nuevo.",
   "section_menu_action_remove_section": "Eliminar sección",
   "section_menu_action_collapse_section": "Contraer sección",
   "section_menu_action_expand_section": "Expandir sección",
   "section_menu_action_manage_section": "Gestionar sección",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Añadir sitio popular",
   "section_menu_action_move_up": "Subir",
   "section_menu_action_move_down": "Bajar",
   "section_menu_action_privacy_notice": "Aviso de privacidad",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar predeterminados",
   "settings_pane_header": "Preferencias de nueva pestaña",
   "settings_pane_body2": "Elija lo quiera ver en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Busque en la Web desde su nueva pestaña.",
   "settings_pane_topsites_body": "Acceda a las páginas que más visita.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_highlights_body2": "Vuelva a encontrar todas las cosas interesantes que haya visitado o marcado recientemente.",
--- a/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-ES/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nueva pestaña</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios favoritos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar tu página de nueva pestaña"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar en la Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar en la Web" title="Buscar en la Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios favoritos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir la sección menú contextual</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar tu página de nueva pestaña"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No, gracias",
   "manual_migration_import_button": "Importar ahora",
   "error_fallback_default_info": "Ups, algo salió mal mientras se cargaba el contenido.",
   "error_fallback_default_refresh_suggestion": "Actualiza la página e intenta de nuevo.",
   "section_menu_action_remove_section": "Eliminar sección",
   "section_menu_action_collapse_section": "Sección de colapso",
   "section_menu_action_expand_section": "Ampliar la sección",
   "section_menu_action_manage_section": "Administrar sección",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Agregar sitio popular",
   "section_menu_action_move_up": "Más",
   "section_menu_action_move_down": "Bajar",
   "section_menu_action_privacy_notice": "Política de privacidad",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar valores predeterminados",
   "settings_pane_header": "Preferencias de nueva pestaña",
   "settings_pane_body2": "Elige lo que ves en esta página.",
   "settings_pane_search_header": "Buscar",
   "settings_pane_search_body": "Busca en la web de tu nueva pestaña.",
   "settings_pane_topsites_body": "Accede a los sitios web que más visitas.",
   "settings_pane_topsites_options_showmore": "Mostrar dos filas",
   "settings_pane_highlights_body2": "Encuentra tu camino de regreso a las cosas interesantes que has visitado o marcado recientemente.",
--- a/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/es-MX/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Uus kaart</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Otsi veebist</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Otsi veebist" title="Otsi veebist"/><button id="searchSubmit" class="search-button" title="Otsi"><span class="sr-only"><span>Otsi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top saidid</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket soovitab</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaarsed teemad:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Esiletõstetud</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Kohanda uue kaardi lehte"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Otsi veebist</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Otsi veebist" title="Otsi veebist"/><button id="searchSubmit" class="search-button" title="Otsi"><span class="sr-only"><span>Otsi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top saidid</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muuda seda saiti"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket soovitab</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaarsed teemad:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Esiletõstetud</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ava osa kontekstimenüü</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Kohanda uue kaardi lehte"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/et/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ei soovi",
   "manual_migration_import_button": "Impordi kohe",
   "error_fallback_default_info": "Ups, selle sisu laadimisel läks midagi viltu.",
   "error_fallback_default_refresh_suggestion": "Uuesti proovimiseks laadi leht uuesti.",
   "section_menu_action_remove_section": "Eemalda osa",
   "section_menu_action_collapse_section": "Ahenda osa",
   "section_menu_action_expand_section": "Laienda osa",
   "section_menu_action_manage_section": "Halda osa",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Lisa top sait",
   "section_menu_action_move_up": "Liiguta üles",
   "section_menu_action_move_down": "Liiguta alla",
   "section_menu_action_privacy_notice": "Privaatsuspoliitika",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Taasta vaikeväärtused",
   "settings_pane_header": "Uue kaardi sätted",
   "settings_pane_body2": "Vali asjad, mida soovid sellel lehel näha.",
   "settings_pane_search_header": "Otsing",
   "settings_pane_search_body": "Veebis otsimine uuel kaardil.",
   "settings_pane_topsites_body": "Ligipääs enim külastatud veebilehtedele.",
   "settings_pane_topsites_options_showmore": "Kuvatakse kahel real",
   "settings_pane_highlights_body2": "Leia tee tagasi asjade juurde, mida hiljuti külastasid või järjehoidjatesse lisasid.",
--- a/browser/extensions/activity-stream/prerendered/locales/et/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/et/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Fitxa berria</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Bilatu webean</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Bilatu webean" title="Bilatu webean"/><button id="searchSubmit" class="search-button" title="Bilatu"><span class="sr-only"><span>Bilatu</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Gune erabilienak</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ireki atalaren testuinguru-menua</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket hornitzaileak gomendatuta</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ireki atalaren testuinguru-menua</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Gai ezagunak:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nabarmendutakoak</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ireki atalaren testuinguru-menua</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Pertsonalizatu fitxa berriaren orria"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Bilatu webean</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Bilatu webean" title="Bilatu webean"/><button id="searchSubmit" class="search-button" title="Bilatu"><span class="sr-only"><span>Bilatu</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Gune erabilienak</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ireki atalaren testuinguru-menua</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editatu gune hau"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket hornitzaileak gomendatuta</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ireki atalaren testuinguru-menua</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Gai ezagunak:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nabarmendutakoak</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ireki atalaren testuinguru-menua</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Pertsonalizatu fitxa berriaren orria"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ez, eskerrik asko",
   "manual_migration_import_button": "Inportatu orain",
   "error_fallback_default_info": "Kontxo, zerbait gaizki joan da edukia kargatzerakoan.",
   "error_fallback_default_refresh_suggestion": "Berritu orria berriro saiatzeko.",
   "section_menu_action_remove_section": "Kendu atala",
   "section_menu_action_collapse_section": "Tolestu atala",
   "section_menu_action_expand_section": "Zabaldu atala",
   "section_menu_action_manage_section": "Kudeatu atala",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Gehitu maiz erabilitako gunea",
   "section_menu_action_move_up": "Eraman gora",
   "section_menu_action_move_down": "Eraman behera",
   "section_menu_action_privacy_notice": "Pribatutasun-oharra",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Berrezarri lehenespenak",
   "settings_pane_header": "Fitxa berriaren hobespenak",
   "settings_pane_body2": "Aukeratu orri honetan ikusiko duzuna.",
   "settings_pane_search_header": "Bilaketa",
   "settings_pane_search_body": "Bilatu webean zure fitxa berritik.",
   "settings_pane_topsites_body": "Sartu gehien bisitatzen dituzun webguneetara.",
   "settings_pane_topsites_options_showmore": "Erakutsi bi errenkada",
   "settings_pane_highlights_body2": "Aurkitu itzultzeko bidea azkenaldian bisitatutako edo laster-marka egindako gauza interesgarrietara.",
--- a/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/eu/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>زبانه جدید</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>جست‌وجوی وب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="جست‌وجوی وب" title="جست‌وجوی وب"/><button id="searchSubmit" class="search-button" title="جست‌وجو"><span class="sr-only"><span>جست‌وجو</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>سایت‌های برتر</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>پیشنهاد شده توسط Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>موضوع‌های محبوب:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>برجسته‌ها</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="صفحهٔ زبانه جدید را سفارشی کنید"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>جست‌وجوی وب</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="جست‌وجوی وب" title="جست‌وجوی وب"/><button id="searchSubmit" class="search-button" title="جست‌وجو"><span class="sr-only"><span>جست‌وجو</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>سایت‌های برتر</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ویرایش این سایت"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>پیشنهاد شده توسط Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>موضوع‌های محبوب:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>برجسته‌ها</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="صفحهٔ زبانه جدید را سفارشی کنید"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "نه ممنون",
   "manual_migration_import_button": "هم‌اکنون وارد شوند",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "در حال بارگیری…",
   "header_stories": "برترین داستان‌ها",
   "header_visit_again": "مشاهده دوباره",
   "header_bookmarks": "نشانک‌های اخیر",
   "header_bookmarks_placeholder": "هنوز هیچ نشانکی ندارید.",
   "header_stories_from": "از",
   "type_label_synced": "هم‌گام شده از دستگاهی دیگر",
   "type_label_open": "باز کردن",
--- a/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fa/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tabbere hesere</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yiylo geese</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yiylo geese" title="Yiylo geese"/><button id="searchSubmit" class="search-button" title="Yiylo"><span class="sr-only"><span>Yiylo</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lowe dowrowe</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Uddit taƴre dosol ngonka</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Uddit taƴre dosol ngonka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Loowdiiji lolluɗi:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Jalbine</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Uddit taƴre dosol ngonka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Yiylo geese</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Yiylo geese" title="Yiylo geese"/><button id="searchSubmit" class="search-button" title="Yiylo"><span class="sr-only"><span>Yiylo</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lowe dowrowe</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Uddit taƴre dosol ngonka</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Taƴto ndee lowre"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Waggini ɗum ko Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Uddit taƴre dosol ngonka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Loowdiiji lolluɗi:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Jalbine</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Uddit taƴre dosol ngonka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Neɗɗin tabbere maa hello hesere ndee"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream-strings.js
@@ -1,27 +1,27 @@
 // Note - this is a generated ff file.
 window.gActivityStreamStrings = {
   "newtab_page_title": "Tabbere hesere",
   "header_top_sites": "Lowe dowrowe",
   "header_highlights": "Jalbine",
-  "header_recommended_by": "Recommended by {provider}",
+  "header_recommended_by": "Waggini ɗum ko {provider}",
   "context_menu_button_sr": "Uddit dosol ngonka wonande {title}",
   "section_context_menu_button_sr": "Uddit taƴre dosol ngonka",
   "type_label_visited": "Yilliima",
-  "type_label_bookmarked": "Bookmarked",
+  "type_label_bookmarked": "Maantaa maanto deftere",
   "type_label_recommended": "Ina tiindii",
   "type_label_pocket": "Danndaama e Pocket",
   "type_label_downloaded": "Awtaama",
   "menu_action_bookmark": "Maanto ɗerewol",
   "menu_action_remove_bookmark": "Momtu maanto ɗerewol",
-  "menu_action_open_new_window": "Open in a New Window",
+  "menu_action_open_new_window": "Uddit e Henorde Hesere",
   "menu_action_open_private_window": "Uddit e Henorde Suturo Hesere",
   "menu_action_dismiss": "Salo",
-  "menu_action_delete": "Delete from History",
+  "menu_action_delete": "Momtu e daartol",
   "menu_action_pin": "Ñippu",
   "menu_action_unpin": "Ñippit",
   "confirm_history_delete_p1": "Aɗa yananaa yiɗde momtude kala cilol ngoo hello e to aslol maa?",
   "confirm_history_delete_notice_p2": "Ngal baɗal waawaa firteede.",
   "menu_action_save_to_pocket": "Danndu e Pocket",
   "menu_action_delete_pocket": "Momtu e Pocket",
   "menu_action_archive_pocket": "Mooftu nder Pocket",
   "menu_action_show_file_mac_os": "Hollit e Finder",
@@ -38,61 +38,67 @@ window.gActivityStreamStrings = {
   "section_disclaimer_topstories": "Daarti ɓurɗi teeŋtude e geese ɗee, cuɓaaɗi e yowitaade e ko tarɗaa. Ummoraade e Pocket, jeyaaɗo jooni e Mozilla.",
   "section_disclaimer_topstories_linktext": "Humpito hol no ɗum gollortoo.",
   "section_disclaimer_topstories_buttontext": "Eey, mi faamii",
   "prefs_home_header": "Loowdi Jaɓɓorgo Firefox",
   "prefs_home_description": "Suɓo hol loowdi njiɗɗaa e yaynirde jaɓɓorgo Firefox maa.",
   "prefs_section_rows_option": "{num} gorol;{num} gorol",
   "prefs_search_header": "Njiilaw Geese",
   "prefs_topsites_description": "Lowe ɗe ɓurɗaa waawde yillaade",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_description2": "Loowdi dowrowri geese, keertinanaandi ma",
+  "prefs_topstories_options_sponsored_label": "Daari joɓanaaɗi",
   "prefs_topstories_sponsored_learn_more": "Ɓeydu humpito",
   "prefs_highlights_description": "Suɓngo lowe ɗe ndannduɗaa walla ɗe njilliɗaa",
   "prefs_highlights_options_visited_label": "Kelle jiyaaɗe",
   "prefs_highlights_options_download_label": "Cakkitiiɗe awteede",
   "prefs_highlights_options_pocket_label": "Kelle kisnaaɗe e Pocket",
   "prefs_snippets_description": "Kesɗitineiwde e Mozilla kañum e Firefox",
-  "settings_pane_button_label": "Customize your New Tab page",
-  "settings_pane_topsites_header": "Top Sites",
+  "settings_pane_button_label": "Neɗɗin tabbere maa hello hesere ndee",
+  "settings_pane_topsites_header": "Lowre Rowrowe",
   "settings_pane_highlights_header": "Jalbine",
   "settings_pane_highlights_options_bookmarks": "Maantore",
   "settings_pane_snippets_header": "Taƴitine",
-  "edit_topsites_button_text": "Edit",
-  "edit_topsites_edit_button": "Edit this site",
+  "edit_topsites_button_text": "Taƴto",
+  "edit_topsites_edit_button": "Taƴto ndee lowre",
   "topsites_form_add_header": "Lowre Dowrowre Hesere",
   "topsites_form_edit_header": "Taƴto Lowre Dowrowre",
   "topsites_form_title_label": "Tiitoonde",
   "topsites_form_title_placeholder": "Naatnu tiitoonde",
   "topsites_form_url_label": "URL",
-  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_image_url_label": "Neɗɗin ngal natal URL",
   "topsites_form_url_placeholder": "Tappu walla ɗakku URL",
-  "topsites_form_use_image_link": "Use a custom image…",
-  "topsites_form_preview_button": "Preview",
+  "topsites_form_use_image_link": "Huutoro natal neɗɗinangal…",
+  "topsites_form_preview_button": "Sooyno",
   "topsites_form_add_button": "Ɓeydu",
-  "topsites_form_save_button": "Danndu",
+  "topsites_form_save_button": "Daɗndu",
   "topsites_form_cancel_button": "Haaytu",
   "topsites_form_url_validation": "URL Moƴƴo ina naamnaa",
-  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "topsites_form_image_validation": "loowgol natal gallii. Enndir URL goɗɗo.",
   "pocket_read_more": "Loowdiiji lolluɗi:",
   "pocket_read_even_more": "Yiy Daarti Goɗɗi",
   "highlights_empty_state": "Fuɗɗo wanngaade, min kolloymaa huunde e binndanɗe mawɗe ɗee, widewooji kañum e kelle goɗɗe ɗe njilliɗaa ko ɓooyaani walla maantoraaɗe ɗoo.",
-  "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
+  "topstories_empty_state": "Rutto ɗoo goɗngol ngam daari goɗɗi {provider}. A waawaa fadde ? Suvo tiitoonde lollunde ngam yiytude e geese hee daari goɗɗi.",
   "manual_migration_explanation2": "Ƴeewndo Firefox wonndude e maantore ɗee, aslol kam e finndeeji iwde e wanngorde woɗnde.",
   "manual_migration_cancel_button": "Alaa, moƴƴii",
   "manual_migration_import_button": "Jiggo Jooni",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "prefs_restore_defaults_button": "Artir goowaaɗe",
-  "settings_pane_body2": "Suɓo ko njiyataa e ngoo hello.",
-  "settings_pane_highlights_body2": "Yiytu laawol maa ruttaade e geɗe maantinɗe jilliɗaa ko ɓooyaani walla maantoraaɗe.",
-  "settings_pane_highlights_options_visited": "Lowe Jillaaɗe",
-  "settings_pane_topstories_options_sponsored": "Hollu Daarti Tammbitaaɗi",
-  "pocket_description": "Yiytu loowdi waɗndi faayiida ndi ina gasa luppuɗaa, wonndude e ballal ummoraade e Pocket, jeyaaɗo jooni e Mozilla."
+  "error_fallback_default_info": "Uf, saɗeende kewii e loowgol ngoo loowdi.",
+  "error_fallback_default_refresh_suggestion": "Wultin hello ngoo ngam ennditde.",
+  "section_menu_action_remove_section": "Momtu taƴre",
+  "section_menu_action_collapse_section": "Renndin taƴe",
+  "section_menu_action_expand_section": "Yaajtin taƴre",
+  "section_menu_action_manage_section": "Feewnu taƴre",
+  "section_menu_action_manage_webext": "Manage Extension",
+  "section_menu_action_add_topsite": "Ɓeydu lowre rowrowre",
+  "section_menu_action_move_up": "Dirtin dow",
+  "section_menu_action_move_down": "Dirtin les",
+  "section_menu_action_privacy_notice": "Tintinal sirlu",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ff/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Uusi välilehti</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Verkkohaku</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Verkkohaku" title="Verkkohaku"/><button id="searchSubmit" class="search-button" title="Haku"><span class="sr-only"><span>Haku</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Ykkössivustot</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Suositukset lähteestä Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Suositut aiheet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nostot</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Muokkaa Uusi välilehti -sivua"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Verkkohaku</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Verkkohaku" title="Verkkohaku"/><button id="searchSubmit" class="search-button" title="Haku"><span class="sr-only"><span>Haku</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Ykkössivustot</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Muokkaa tätä sivustoa"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Suositukset lähteestä Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Suositut aiheet:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nostot</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Avaa osion ponnahdusvalikko</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Muokkaa Uusi välilehti -sivua"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ei kiitos",
   "manual_migration_import_button": "Tuo nyt",
   "error_fallback_default_info": "Hups, jotain meni vikaan tätä sisältöä ladattaessa.",
   "error_fallback_default_refresh_suggestion": "Yritä uudestaan päivittämällä sivu.",
   "section_menu_action_remove_section": "Poista osio",
   "section_menu_action_collapse_section": "Pienennä osio",
   "section_menu_action_expand_section": "Laajenna osio",
   "section_menu_action_manage_section": "Muokkaa osiota",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Lisää ykkössivusto",
   "section_menu_action_move_up": "Siirrä ylös",
   "section_menu_action_move_down": "Siirrä alas",
   "section_menu_action_privacy_notice": "Tietosuojakäytäntö",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Palauta oletukset",
   "settings_pane_header": "Uuden välilehden asetukset",
   "settings_pane_body2": "Valitse, mitä haluat nähdä tällä sivulla.",
   "settings_pane_search_header": "Haku",
   "settings_pane_search_body": "Tee verkkohakuja uudesta välilehdestä.",
   "settings_pane_topsites_body": "Näe eniten vierailemasi sivustot.",
   "settings_pane_topsites_options_showmore": "Näytä kaksi riviä",
   "settings_pane_highlights_body2": "Löydä tiesi takaisin kiinnostaviin juttuihin, joissa olet käynyt tai jotka olet lisännyt kirjanmerkkeihin viime aikoina.",
--- a/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fi/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nouvel onglet</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Rechercher sur le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Rechercher sur le Web" title="Rechercher sur le Web"/><button id="searchSubmit" class="search-button" title="Rechercher"><span class="sr-only"><span>Rechercher</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sites les plus visités</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommandations par Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Sujets populaires :</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Éléments-clés</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personnaliser la page Nouvel onglet"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Rechercher sur le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Rechercher sur le Web" title="Rechercher sur le Web"/><button id="searchSubmit" class="search-button" title="Rechercher"><span class="sr-only"><span>Rechercher</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sites les plus visités</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifier ce site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommandations par Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Sujets populaires :</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Éléments-clés</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ouvrir le menu contextuel de cette section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personnaliser la page Nouvel onglet"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Non merci",
   "manual_migration_import_button": "Importer",
   "error_fallback_default_info": "Oups, une erreur s’est produite lors du chargement du contenu.",
   "error_fallback_default_refresh_suggestion": "Actualisez la page pour réessayer.",
   "section_menu_action_remove_section": "Supprimer la section",
   "section_menu_action_collapse_section": "Réduire la section",
   "section_menu_action_expand_section": "Développer la section",
   "section_menu_action_manage_section": "Gérer la section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Ajouter un site populaire",
   "section_menu_action_move_up": "Déplacer vers le haut",
   "section_menu_action_move_down": "Déplacer vers le bas",
   "section_menu_action_privacy_notice": "Politique de confidentialité",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Configuration par défaut",
   "settings_pane_header": "Préférences Nouvel onglet",
   "settings_pane_body2": "Choisissez les éléments à afficher sur la page.",
   "settings_pane_search_header": "Recherche",
   "settings_pane_search_body": "Effectuez une recherche sur le Web depuis le nouvel onglet.",
   "settings_pane_topsites_body": "Accédez aux sites que vous consultez le plus.",
   "settings_pane_topsites_options_showmore": "Afficher deux lignes",
   "settings_pane_highlights_body2": "Retrouvez des pages intéressantes que vous avez visitées récemment ou ajoutées aux marque-pages.",
--- a/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fr/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nij ljepblêd</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sykje op it web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sykje op it web" title="Sykje op it web"/><button id="searchSubmit" class="search-button" title="Sykje"><span class="sr-only"><span>Sykje</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Topwebsites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Oanrekommandearre troch Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populêre ûnderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Hichtepunten</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Jo side foar nije ljepblêden oanpasse"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sykje op it web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sykje op it web" title="Sykje op it web"/><button id="searchSubmit" class="search-button" title="Sykje"><span class="sr-only"><span>Sykje</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Topwebsites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Dizze side bewurkje"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Oanrekommandearre troch Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populêre ûnderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Hichtepunten</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstmenu fan seksje iepenje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Jo side foar nije ljepblêden oanpasse"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nee tankewol",
   "manual_migration_import_button": "No ymportearje",
   "error_fallback_default_info": "Oeps, der is wat misgien by it laden fan dizze ynhâld.",
   "error_fallback_default_refresh_suggestion": "Fernij de side om it opnij te probearjen.",
   "section_menu_action_remove_section": "Seksje fuortsmite",
   "section_menu_action_collapse_section": "Seksje ynklappe",
   "section_menu_action_expand_section": "Seksje útklappe",
   "section_menu_action_manage_section": "Seksje beheare",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Topwebsite tafoegje",
   "section_menu_action_move_up": "Omheech ferpleatse",
   "section_menu_action_move_down": "Omleech ferpleatse",
   "section_menu_action_privacy_notice": "Privacyferklearring",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Standertwearden opnij ynstelle",
   "settings_pane_header": "Nij ljepblêdfoarkarren",
   "settings_pane_body2": "Kies wat jo op dizze side sjogge.",
   "settings_pane_search_header": "Sykje",
   "settings_pane_search_body": "Sykje op it web fan jo nije ljepblêd út.",
   "settings_pane_topsites_body": "Benaderje de websites dy't jo it meast besykje.",
   "settings_pane_topsites_options_showmore": "Twa rigen toane",
   "settings_pane_highlights_body2": "Fyn fluch ynteressante saken út jo blêdwizers en resint besocht siden werom.",
--- a/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/fy-NL/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Cluaisín Nua</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cuardaigh an Gréasán</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cuardaigh an Gréasán" title="Cuardaigh an Gréasán"/><button id="searchSubmit" class="search-button" title="Cuardach"><span class="sr-only"><span>Cuardach</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Barrshuímh</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topaicí i mbéal an phobail:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Saincheap an Leathanach do Chluaisín Nua"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cuardaigh an Gréasán</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cuardaigh an Gréasán" title="Cuardaigh an Gréasán"/><button id="searchSubmit" class="search-button" title="Cuardach"><span class="sr-only"><span>Cuardach</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Barrshuímh</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cuir an suíomh seo in eagar"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topaicí i mbéal an phobail:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Saincheap an Leathanach do Chluaisín Nua"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Á Lódáil…",
   "header_stories": "Barrscéalta",
   "header_visit_again": "Cuairt Arís",
   "header_bookmarks": "Leabharmharcanna Le Déanaí",
   "header_bookmarks_placeholder": "Níl aon leabharmharcanna agat.",
   "header_stories_from": "ó",
   "type_label_synced": "Sioncronaithe ó ghléas eile",
   "type_label_open": "Oscailte",
--- a/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ga-IE/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Taba ùr</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Lorg air an lìon</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Lorg air an lìon" title="Lorg air an lìon"/><button id="searchSubmit" class="search-button" title="Lorg"><span class="sr-only"><span>Lorg</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Brod nan làrach</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>’Ga mholadh le Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Cuspairean fèillmhor:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sàr-roghainn</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Gnàthaich duilleag nan tabaichean ùra agad"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Lorg air an lìon</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Lorg air an lìon" title="Lorg air an lìon"/><button id="searchSubmit" class="search-button" title="Lorg"><span class="sr-only"><span>Lorg</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Brod nan làrach</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deasaich an làrach seo"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>’Ga mholadh le Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Cuspairean fèillmhor:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sàr-roghainn</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Fosgail clàr-taice co-theacsail na h-earrainn</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Gnàthaich duilleag nan tabaichean ùra agad"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Chan eil, tapadh leibh",
   "manual_migration_import_button": "Ion-phortaich an-dràsta",
   "error_fallback_default_info": "Ìoc, chaidh rudeigin cearr fhad ’s a bha sinn a’ luchdadh na susbaint seo.",
   "error_fallback_default_refresh_suggestion": "Ath-nuadhaich an duilleag airson fheuchainn ris a-rithist.",
   "section_menu_action_remove_section": "Thoir an earrann air falbh",
   "section_menu_action_collapse_section": "Co-theannaich an earrann",
   "section_menu_action_expand_section": "Leudaich an earrann",
   "section_menu_action_manage_section": "Stiùirich an earrann",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Cuir ris brod làraich",
   "section_menu_action_move_up": "Gluais suas",
   "section_menu_action_move_down": "Gluais sìos",
   "section_menu_action_privacy_notice": "Sanas prìobhaideachd",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Aisig na bun-roghainnean",
   "settings_pane_header": "Roghainnean nan tabaichean ùra",
   "settings_pane_body2": "Tagh na chì thu air an duilleag seo.",
   "settings_pane_search_header": "Lorg",
   "settings_pane_search_body": "Lorg air an lìon on taba ùr agad.",
   "settings_pane_topsites_body": "Faigh cothrom air na làraichean air an tadhail thu gu tric.",
   "settings_pane_topsites_options_showmore": "Seall dà ràgh",
   "settings_pane_highlights_body2": "Faigh greim gu furasta air rudan inntinneach air an do thadhail thu roimhe no a rinn thu comharran-lìn dhiubh.",
--- a/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gd/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova lapela</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar na Web" title="Buscar na Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios favoritos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menú contextual da sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menú contextual da sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menú contextual da sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalice a páxina de nova lapela"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Buscar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Buscar na Web" title="Buscar na Web"/><button id="searchSubmit" class="search-button" title="Buscar"><span class="sr-only"><span>Buscar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitios favoritos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menú contextual da sección</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este sitio"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menú contextual da sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destacados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menú contextual da sección</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalice a páxina de nova lapela"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Non, grazas",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Vaites, produciuse un erro ao cargar este contido.",
   "error_fallback_default_refresh_suggestion": "Actualice a páxina para tentalo de novo.",
   "section_menu_action_remove_section": "Retirar sección",
   "section_menu_action_collapse_section": "Contraer sección",
   "section_menu_action_expand_section": "Expandir sección",
   "section_menu_action_manage_section": "Xestionar sección",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Engadir sitio favorito",
   "section_menu_action_move_up": "Subir",
   "section_menu_action_move_down": "Baixar",
   "section_menu_action_privacy_notice": "Política de privacidade",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar a configuración predeterminada",
   "settings_pane_header": "Preferencias de nova lapela",
   "settings_pane_body2": "Escolla que quere ver nesta páxina.",
   "settings_pane_search_header": "Busca",
   "settings_pane_search_body": "Busca na web dende a nova lapela.",
   "settings_pane_topsites_body": "Acceda aos sitios web que máis visita.",
   "settings_pane_topsites_options_showmore": "Amosar dúas filas",
   "settings_pane_highlights_body2": "Atope algunhas páxinas interesantes que vostede xa visitou ou marcou recentemente.",
--- a/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gl/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tendayke Pyahu</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ñandutivevépe Jeheka</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ñandutivevépe Jeheka" title="Ñandutivevépe Jeheka"/><button id="searchSubmit" class="search-button" title="Eheka"><span class="sr-only"><span>Eheka</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Tenda Ojehechavéva</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Eike poravorã vore jereguávape</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket he&#x27;i ndéve reike hag̃ua</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Eike poravorã vore jereguávape</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ñe&#x27;ẽmbyrã Ojehayhuvéva:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mba&#x27;eporãitéva</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Eike poravorã vore jereguávape</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Eñemomba&#x27;e ne Tendayke Pyahu roguére"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ñandutivevépe Jeheka</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ñandutivevépe Jeheka" title="Ñandutivevépe Jeheka"/><button id="searchSubmit" class="search-button" title="Eheka"><span class="sr-only"><span>Eheka</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Tenda Ojehechavéva</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Eike poravorã vore jereguávape</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Embosako&#x27;i ko tenda"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket he&#x27;i ndéve reike hag̃ua</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Eike poravorã vore jereguávape</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Ñe&#x27;ẽmbyrã Ojehayhuvéva:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Mba&#x27;eporãitéva</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Eike poravorã vore jereguávape</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Eñemomba&#x27;e ne Tendayke Pyahu roguére"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ag̃amiénte",
   "manual_migration_import_button": "Egueroike Ko'ág̃a",
   "error_fallback_default_info": "Ema'ẽ, mba’épa osẽvai henyhẽnguévo ko tetepy.",
   "error_fallback_default_refresh_suggestion": "Kuatiarogue mbopiro’y eñepyrũjey hag̃ua",
   "section_menu_action_remove_section": "Emboguete vore",
   "section_menu_action_collapse_section": "Embopytupa vore",
   "section_menu_action_expand_section": "Emyasãi vore",
   "section_menu_action_manage_section": "Eñagareko vorére",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Embojuaju Tenda ojeikeveha",
   "section_menu_action_move_up": "Jupi",
   "section_menu_action_move_down": "Guejy",
   "section_menu_action_privacy_notice": "Marandu’i ñemiguáva",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Embojevy Ijypykueguáva",
   "settings_pane_header": "Tendayke Pyahu Jeguererohoryrã",
   "settings_pane_body2": "Eiporavo rehechaséva ko toguépe.",
   "settings_pane_search_header": "Eheka",
   "settings_pane_search_body": "Eheka ñandutivevépe tendayke pyahu guive.",
   "settings_pane_topsites_body": "Eike ñandutirenda rehechajepivévape.",
   "settings_pane_topsites_options_showmore": "Mokõi tysýi jechauka",
   "settings_pane_highlights_body2": "Ehekajey tape reipuruva'ekue reg̃uahẽvo ñandutiroguépe reguerohorýva'ekue.",
--- a/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gn/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>નવી ટૅબ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>વેબ પર શોધો</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="વેબ પર શોધો" title="વેબ પર શોધો"/><button id="searchSubmit" class="search-button" title="શોધો"><span class="sr-only"><span>શોધો</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ટોચની સાઇટ્સ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>વિભાગ સંદર્ભ મેનૂ ખોલો</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>દ્વારા ભલામણ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>વિભાગ સંદર્ભ મેનૂ ખોલો</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>લોકપ્રિય વિષયો:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>હાઇલાઇટ્સ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>વિભાગ સંદર્ભ મેનૂ ખોલો</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="તમારા નવા ટૅબ પૃષ્ઠને કસ્ટમાઇઝ કરો"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>વેબ પર શોધો</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="વેબ પર શોધો" title="વેબ પર શોધો"/><button id="searchSubmit" class="search-button" title="શોધો"><span class="sr-only"><span>શોધો</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ટોચની સાઇટ્સ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>વિભાગ સંદર્ભ મેનૂ ખોલો</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="આ સાઇટને સંપાદિત કરો"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>દ્વારા ભલામણ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>વિભાગ સંદર્ભ મેનૂ ખોલો</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>લોકપ્રિય વિષયો:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>હાઇલાઇટ્સ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>વિભાગ સંદર્ભ મેનૂ ખોલો</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="તમારા નવા ટૅબ પૃષ્ઠને કસ્ટમાઇઝ કરો"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream-strings.js
@@ -5,56 +5,56 @@ window.gActivityStreamStrings = {
   "header_highlights": "હાઇલાઇટ્સ",
   "header_recommended_by": "દ્વારા ભલામણ",
   "context_menu_button_sr": "{title} માટે સંદર્ભ મેનૂ ખોલો",
   "section_context_menu_button_sr": "વિભાગ સંદર્ભ મેનૂ ખોલો",
   "type_label_visited": "જોવામા આવેલ:",
   "type_label_bookmarked": "બુકમાર્ક્સ",
   "type_label_recommended": "વલણ",
   "type_label_pocket": "પોકેટ પર સાચવ્યું",
-  "type_label_downloaded": "Downloaded",
+  "type_label_downloaded": "ડાઉનલોડ કરેલું",
   "menu_action_bookmark": "બુકમાર્ક",
   "menu_action_remove_bookmark": "બુકમાર્ક કાઢો",
   "menu_action_open_new_window": "નવી વિન્ડોમાં ખોલો",
   "menu_action_open_private_window": "ખાનગી વિન્ડોમાં ખોલો",
   "menu_action_dismiss": "રદ કરો",
   "menu_action_delete": "ઇતિહાસમાંથી દૂર કરો",
   "menu_action_pin": "પિન",
   "menu_action_unpin": "અનપિન",
   "confirm_history_delete_p1": "શું તમે ખરેખર તમારા ઇતિહાસમાંથી આ પૃષ્ઠનાં દરેક ઘટકને કાઢી નાખવા માંગો છો?",
   "confirm_history_delete_notice_p2": "આ ક્રિયા પૂર્વવત્ કરી શકાતી નથી.",
   "menu_action_save_to_pocket": "પોકેટમાં સાચવો",
   "menu_action_delete_pocket": "પોકેટમાંથી કાઢી નાંખો",
   "menu_action_archive_pocket": "પોકેટમાં આર્કાઇવ",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_show_file_mac_os": "ફાઇન્ડર માં બતાવો",
+  "menu_action_show_file_windows": "સમાવેલ ફોલ્ડર ખોલો",
+  "menu_action_show_file_linux": "સમાવેલ ફોલ્ડર ખોલો",
+  "menu_action_show_file_default": "ફાઇલ બતાવો",
+  "menu_action_open_file": "ફાઇલ ખોલો",
+  "menu_action_copy_download_link": "ડાઉનલોડ કડીની નકલ કરો",
+  "menu_action_go_to_download_page": "ડાઉનલોડ પૃષ્ઠ પર જાઓ",
+  "menu_action_remove_download": "ઇતિહાસમાંથી દૂર કરો",
   "search_button": "શોધો",
   "search_header": "{search_engine_name} શોધ કરો",
   "search_web_placeholder": "વેબ પર શોધો",
   "section_disclaimer_topstories": "વેબ પરની સૌથી રસપ્રદ વાર્તાઓ, તમે જે વાંચો છો તેના આધારે પસંદ કરેલ છે. Pocket થી, હવે Mozilla નો ભાગ.",
   "section_disclaimer_topstories_linktext": "તે કેવી રીતે કાર્ય કરે છે તે જાણો.",
   "section_disclaimer_topstories_buttontext": "ઠીક છે, સમજાઇ ગયું",
   "prefs_home_header": "Firefox મુખ્ય સામગ્રી",
   "prefs_home_description": "તમારી Firefox મુખ્ય સ્ક્રીન પર કઈ સામગ્રી તમે ઇચ્છો તે પસંદ કરો.",
   "prefs_section_rows_option": "{num} પંક્તિ;{num} પંક્તિઓ",
   "prefs_search_header": "વેબ શોધ",
   "prefs_topsites_description": "તમે સૌથી વધુ મુલાકાત લો છો તે સાઇટ્સ",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_description2": "તમારા માટે વ્યક્તિગત કરેલ વેબ પરથી, વિખ્યાત સામગ્રી",
+  "prefs_topstories_options_sponsored_label": "પ્રાયોજિત વાર્તાઓ",
   "prefs_topstories_sponsored_learn_more": "વધુ શીખો",
   "prefs_highlights_description": "સાઇટ્સની પસંદગી કે જે તમે સાચવી અથવા મુલાકાત લીધી છે",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
+  "prefs_highlights_options_visited_label": "મુલાકાત લીધેલા પૃષ્ઠો",
+  "prefs_highlights_options_download_label": "સૌથી તાજેતરની ડાઉનલોડ",
+  "prefs_highlights_options_pocket_label": "પોકેટ પર સાચવેલ પૃષ્ઠો",
   "prefs_snippets_description": "Mozilla અને Firefox તરફથી અપડેટ્સ",
   "settings_pane_button_label": "તમારા નવા ટૅબ પૃષ્ઠને કસ્ટમાઇઝ કરો",
   "settings_pane_topsites_header": "ટોચની સાઇટ્સ",
   "settings_pane_highlights_header": "વીતી ગયેલું",
   "settings_pane_highlights_options_bookmarks": "બુકમાર્ક્સ",
   "settings_pane_snippets_header": "જાણકારી આપનારા ઉતારા ક કાપલીઓ",
   "edit_topsites_button_text": "ફેરફાર કરો",
   "edit_topsites_edit_button": "આ સાઇટને સંપાદિત કરો",
@@ -80,28 +80,25 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "ના અભાર",
   "manual_migration_import_button": "હવે આયાત કરો",
   "error_fallback_default_info": "ઊફ્ફ, આ સામગ્રીને લોડ કરવામાં કંઈક ખોટું થયું.",
   "error_fallback_default_refresh_suggestion": "ફરી પ્રયાસ કરવા માટે પૃષ્ઠને તાજું કરો.",
   "section_menu_action_remove_section": "વિભાગ દૂર કરો",
   "section_menu_action_collapse_section": "વિભાગ સંકુચિત કરો",
   "section_menu_action_expand_section": "વિભાગ વિસ્તૃત કરો",
   "section_menu_action_manage_section": "વિભાગ સંચાલિત કરો",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "ટોચની સાઇટ ઉમેરો",
   "section_menu_action_move_up": "ઉપર કરો",
   "section_menu_action_move_down": "નીચે કરો",
   "section_menu_action_privacy_notice": "ખાનગી સૂચના",
-  "prefs_restore_defaults_button": "મૂળભૂતને પુન:સંગ્રહો",
-  "prefs_topstories_description": "ઉચ્ચ ગુણવત્તાવાળી સામગ્રી તમે અન્યથા ચૂકી શકો છો",
-  "prefs_topstories_show_sponsored_label": "{provider} પ્રાયોજિત વાર્તાઓ",
-  "settings_pane_header": "નવી ટેબ પસંદગીઓ",
-  "settings_pane_body2": "તમે આ પૃષ્ઠ પર જે જુઓ છો તે પસંદ કરો.",
-  "settings_pane_search_header": "શોધો",
-  "settings_pane_search_body": "તમારા નવા ટૅબમાંથી વેબ પર શોધો.",
-  "settings_pane_topsites_body": "તમે સૌથી વધુ મુલાકાત લો છો તે વેબસાઇટ્સને ઍક્સેસ કરો.",
-  "settings_pane_topsites_options_showmore": "બે પંક્તિઓ બતાવો",
-  "settings_pane_highlights_body2": "તમે તાજેતરમાં મુલાકાત લીધેલા અથવા બુકમાર્ક કરેલી રસપ્રદ વસ્તુઓ પર તમારી રીત શોધો.",
-  "settings_pane_highlights_options_visited": "મુલાકાત લીધેલ સાઇટ્સ",
-  "settings_pane_snippets_body": "ટૂંકી અને મીઠી સુધારાઓ વાંચો મોઝિલ્લાથી ફાયરફોક્સ વિશે, ઇન્ટરનેટ સંસ્કૃતિ અને પ્રસંગોપાત ફાવે તેમ મેમે વિશે.",
-  "settings_pane_done_button": "પૂરું",
-  "settings_pane_topstories_options_sponsored": "પ્રાયોજિત વાર્તાઓ બતાવો",
-  "pocket_description": "ઉચ્ચ ગુણવત્તાવાળી સામગ્રી શોધો અન્યથા તમે ચૂકી જશો, પોકેટની સહાયથી, હવે મોઝિલાનો એક ભાગ છે."
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/gu-IN/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>לשונית חדשה</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>חיפוש ברשת</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="חיפוש ברשת" title="חיפוש ברשת"/><button id="searchSubmit" class="search-button" title="חיפוש"><span class="sr-only"><span>חיפוש</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>אתרים מובילים</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>מומלץ על ידי Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>נושאים פופולריים:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>מומלצים</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="התאמה אישית של דף הלשונית החדשה שלך"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>חיפוש ברשת</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="חיפוש ברשת" title="חיפוש ברשת"/><button id="searchSubmit" class="search-button" title="חיפוש"><span class="sr-only"><span>חיפוש</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>אתרים מובילים</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="עריכת אתר זה"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>מומלץ על ידי Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>נושאים פופולריים:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>מומלצים</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>פתיחת תפריט ההקשר של המדור</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="התאמה אישית של דף הלשונית החדשה שלך"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/he/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "לא תודה",
   "manual_migration_import_button": "ייבוא כעת",
   "error_fallback_default_info": "אופס, משהו השתבש בעת טעינת התוכן הזה.",
   "error_fallback_default_refresh_suggestion": "נא לרענן את הדף כדי לנסות שוב.",
   "section_menu_action_remove_section": "הסרת מדור",
   "section_menu_action_collapse_section": "צמצום מדור",
   "section_menu_action_expand_section": "הרחבת מדור",
   "section_menu_action_manage_section": "ניהול מדור",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "הוספת אתר מוביל",
   "section_menu_action_move_up": "העברה למעלה",
   "section_menu_action_move_down": "העברה למטה",
   "section_menu_action_privacy_notice": "הצהרת פרטיות",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "בטעינה…",
   "header_stories": "סיפורים מובילים",
   "header_visit_again": "ביקור חוזר",
   "header_bookmarks": "סימניות אחרונות",
   "header_bookmarks_placeholder": "אין לך סימניות עדיין.",
   "header_stories_from": "מאת",
   "type_label_synced": "סונכרן מהתקן אחר",
   "type_label_open": "פתיחה",
--- a/browser/extensions/activity-stream/prerendered/locales/he/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/he/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>नया टैब</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेब पर खोजें</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेब पर खोजें" title="वेब पर खोजें"/><button id="searchSubmit" class="search-button" title="खोज"><span class="sr-only"><span>खोज</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>सर्वोच्च साइटें</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>अनुभाग प्रसंग मेनू खोलें</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा अनुशंसित</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>अनुभाग प्रसंग मेनू खोलें</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय विषय:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>झलकियाँ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>अनुभाग प्रसंग मेनू खोलें</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="अपने नए टैब पृष्ठ को अनुकूलित करें"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेब पर खोजें</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेब पर खोजें" title="वेब पर खोजें"/><button id="searchSubmit" class="search-button" title="खोज"><span class="sr-only"><span>खोज</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>सर्वोच्च साइटें</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>अनुभाग प्रसंग मेनू खोलें</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="इस साइट को संपादित करें"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा अनुशंसित</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>अनुभाग प्रसंग मेनू खोलें</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय विषय:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>झलकियाँ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>अनुभाग प्रसंग मेनू खोलें</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="अपने नए टैब पृष्ठ को अनुकूलित करें"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "नहीं शुक्रिया",
   "manual_migration_import_button": "अब आयात करें",
   "error_fallback_default_info": "उफ़, कुछ गलत इस सामग्री लोड हो गया ।",
   "error_fallback_default_refresh_suggestion": "पुन: प्रयास करने के लिए पृष्ठ ताज़ा करें ।",
   "section_menu_action_remove_section": "अनुभाग निकालें",
   "section_menu_action_collapse_section": "अनुभाग संक्षिप्त करें",
   "section_menu_action_expand_section": "अनुभाग विस्तृत करें",
   "section_menu_action_manage_section": "अनुभाग प्रबंधित करें",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "शीर्ष साइट जोड़ें",
   "section_menu_action_move_up": "ऊपर जाएँ",
   "section_menu_action_move_down": "नीचे जाएँ",
   "section_menu_action_privacy_notice": "गोपनीयता नीति",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "डिफ़ॉल्ट पुनः स्थापित करे",
   "prefs_topstories_description": "उच्च गुणवत्ता की सामग्री आप अंयथा याद कर सकते है",
   "prefs_topstories_show_sponsored_label": "{provider} प्रायोजित कहानियां",
   "settings_pane_header": "नयी टैब वरीयताएँ",
   "settings_pane_body2": "चुनें कि आप इस पृष्ठ पर क्या देखते हैं.",
   "settings_pane_search_header": "खोज",
   "settings_pane_search_body": "अपने नए टैब से वेब पर खोजें.",
   "settings_pane_topsites_body": "आपके द्वारा सबसे ज्यादा खोजी जाने वाली वेबसाइट्स देखें.",
--- a/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hi-IN/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova kartica</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najbolje stranice</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prilagodite svoju početnu stranicu nove kartice"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pretraži web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pretraži web" title="Pretraži web"/><button id="searchSubmit" class="search-button" title="Traži"><span class="sr-only"><span>Traži</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najbolje stranice</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi ovu stranicu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Preporučeno od Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Istaknuto</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prilagodite svoju početnu stranicu nove kartice"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ne hvala",
   "manual_migration_import_button": "Uvezi sada",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Učitavanje…",
   "header_stories": "Najbolje priče",
   "header_visit_again": "Posjetite ponovno",
   "header_bookmarks": "Nedavne zabilješke",
   "header_bookmarks_placeholder": "Još nemate niti jednu zabilješku.",
   "header_stories_from": "od",
   "type_label_synced": "Sinkronizirano s drugog uređaja",
   "type_label_open": "Otvori",
--- a/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hr/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nowy rajtark</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web přepytać</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web přepytać" title="Web přepytać"/><button id="searchSubmit" class="search-button" title="Pytać"><span class="sr-only"><span>Pytać</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najhusćišo wopytane sydła</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wot Pocket doporučeny</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Stronu wašeho noweho rajtarka přiměrić"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web přepytać</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web přepytać" title="Web přepytać"/><button id="searchSubmit" class="search-button" title="Pytać"><span class="sr-only"><span>Pytać</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Najhusćišo wopytane sydła</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Tute sydło wobdźěłać"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Wot Pocket doporučeny</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Woblubowane temy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wjerški</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Kontekstowy meni wotrězka wočinić</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Stronu wašeho noweho rajtarka přiměrić"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ně, dźakuju so",
   "manual_migration_import_button": "Nětko importować",
   "error_fallback_default_info": "Hopla, při čitanju tutoho wobsaha je so něšto nimokuliło.",
   "error_fallback_default_refresh_suggestion": "Aktualizujće stronu, zo byšće hišće raz spytał.",
   "section_menu_action_remove_section": "Wotrězk wotstronić",
   "section_menu_action_collapse_section": "Wotrězk schować",
   "section_menu_action_expand_section": "Wotrězk pokazać",
   "section_menu_action_manage_section": "Wotrězk rjadować",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Woblubowane sydło přidać",
   "section_menu_action_move_up": "Horje",
   "section_menu_action_move_down": "Dele",
   "section_menu_action_privacy_notice": "Zdźělenka priwatnosće",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Standard wobnowić",
   "settings_pane_header": "Nastajenja noweho rajtarka",
   "settings_pane_body2": "Wubjerće, štož so na tutej stronje pokazuje.",
   "settings_pane_search_header": "Pytać",
   "settings_pane_search_body": "Přepytajće web ze swojeho noweho rajtarka.",
   "settings_pane_topsites_body": "Wočińće websydła, kotrež sće najhusćišo wopytał.",
   "settings_pane_topsites_options_showmore": "Dwaj rjadaj pokazać",
   "settings_pane_highlights_body2": "Namakajće swój puć wróćo k zajimawym stronam, kotrež sće njedawno wopytał abo jako zapołožki składował.",
--- a/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hsb/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Új lap</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Keresés a weben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Keresés a weben" title="Keresés a weben"/><button id="searchSubmit" class="search-button" title="Keresés"><span class="sr-only"><span>Keresés</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Népszerű oldalak</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>A(z) Pocket ajánlásával</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Népszerű témák:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Kiemelések</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Az Új lap oldal személyre szabása"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Keresés a weben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Keresés a weben" title="Keresés a weben"/><button id="searchSubmit" class="search-button" title="Keresés"><span class="sr-only"><span>Keresés</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Népszerű oldalak</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Webhely szerkesztése"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>A(z) Pocket ajánlásával</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Népszerű témák:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Kiemelések</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>A szakasz környezeti menüjének megnyitása</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Az Új lap oldal személyre szabása"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Köszönöm, nem",
   "manual_migration_import_button": "Importálás most",
   "error_fallback_default_info": "Hoppá, valami hiba történt a tartalom betöltésekor.",
   "error_fallback_default_refresh_suggestion": "Az újrapróbálkozáshoz frissítse az oldalt.",
   "section_menu_action_remove_section": "Szakasz eltávolítása",
   "section_menu_action_collapse_section": "Szakasz összecsukása",
   "section_menu_action_expand_section": "Szakasz lenyitása",
   "section_menu_action_manage_section": "Szakasz kezelése",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Hozzáadás a népszerű oldalakhoz",
   "section_menu_action_move_up": "Mozgatás felfelé",
   "section_menu_action_move_down": "Mozgatás lefelé",
   "section_menu_action_privacy_notice": "Adatvédelmi nyilatkozat",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Alapértelmezések visszaállítása",
   "settings_pane_header": "Új lap beállításai",
   "settings_pane_body2": "Válassza ki, hogy mit akar látni ezen az oldalon.",
   "settings_pane_search_header": "Keresés",
   "settings_pane_search_body": "Keresés a weben az új lapon.",
   "settings_pane_topsites_body": "A leggyakrabban látogatott webhelyek elérése.",
   "settings_pane_topsites_options_showmore": "Két sor megjelenítése",
   "settings_pane_highlights_body2": "Találjon vissza azokhoz az érdekes dolgokhoz, amelyeket meglátogatott vagy könyvjelzőzött.",
--- a/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hu/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Նոր ներդիր</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Որոնել առցանց</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Որոնել առցանց" title="Որոնել առցանց"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Լավագույն կայքեր</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Գունանշում</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Որոնել առցանց</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Որոնել առցանց" title="Որոնել առցանց"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Լավագույն կայքեր</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Գունանշում</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Բեռնվում է...",
   "type_label_synced": "Համաժամեցված այլ սարքից",
   "type_label_open": "Բացել",
   "type_label_topic": "Թեմա",
   "menu_action_copy_address": "Պատճենել հասցեն",
   "menu_action_email_link": "Ուղարկել հղումը...",
   "search_for_something_with": "Որոնել {search_term}-ը հետևյալով՝",
   "search_settings": "Փոխել որոնման կարգավորումները",
--- a/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/hy-AM/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nove scheda</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cercar in le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cercar in le Web" title="Cercar in le Web"/><button id="searchSubmit" class="search-button" title="Cercar"><span class="sr-only"><span>Cercar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitos popular</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Aperir le menu contextual de section</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommendate per Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Aperir le menu contextual de section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subjectos popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidentia</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Aperir le menu contextual de section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalisar tu pagina de nove scheda"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cercar in le Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cercar in le Web" title="Cercar in le Web"/><button id="searchSubmit" class="search-button" title="Cercar"><span class="sr-only"><span>Cercar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sitos popular</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Aperir le menu contextual de section</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar iste sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommendate per Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Aperir le menu contextual de section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subjectos popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidentia</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Aperir le menu contextual de section</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalisar tu pagina de nove scheda"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No, gratias",
   "manual_migration_import_button": "Importar ora",
   "error_fallback_default_info": "Op, error durante le carga de iste contento.",
   "error_fallback_default_refresh_suggestion": "Refresca le pagina pro retentar.",
   "section_menu_action_remove_section": "Remover le section",
   "section_menu_action_collapse_section": "Collaber le section",
   "section_menu_action_expand_section": "Expander le section",
   "section_menu_action_manage_section": "Gerer le section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Adder a sito popular",
   "section_menu_action_move_up": "Mover in alto",
   "section_menu_action_move_down": "Mover in basso",
   "section_menu_action_privacy_notice": "Advertentia de confidentialitate",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar le predefinitiones",
   "settings_pane_header": "Preferentias de nove scheda",
   "settings_pane_body2": "Selige lo que tu vole vider in iste pagina.",
   "settings_pane_search_header": "Cercar",
   "settings_pane_search_body": "Cercar in le Web ab tu nove scheda.",
   "settings_pane_topsites_body": "Acceder al sitos web que tu plus visita.",
   "settings_pane_topsites_options_showmore": "Monstrar duo lineas",
   "settings_pane_highlights_body2": "Retrova cosas interessante que tu ha recentemente visitate o addite marcapaginas.",
--- a/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ia/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab Baru</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari di Web" title="Cari di Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Situs Teratas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disarankan oleh Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Populer:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sorotan</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Ubahsuai laman Tab Baru Anda"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari di Web" title="Cari di Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Situs Teratas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Sunting situs ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disarankan oleh Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Populer:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Sorotan</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Ubahsuai laman Tab Baru Anda"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/id/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Tidak, Terima kasih",
   "manual_migration_import_button": "Impor Sekarang",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "settings_pane_header": "Preferensi Tab Baru",
   "settings_pane_body2": "Pilih apa yang Anda lihat di halaman ini.",
   "settings_pane_search_header": "Pencarian",
   "settings_pane_search_body": "Cari Web dari tab baru Anda.",
   "settings_pane_topsites_body": "Mengakses situs web yang paling sering Anda kunjungi.",
   "settings_pane_topsites_options_showmore": "Tampilkan dua baris",
   "settings_pane_highlights_body2": "Temukan jalan kembali ke hal menarik yang baru saja Anda kunjungi atau dimarkah.",
   "settings_pane_highlights_options_visited": "Situs Terkunjungi",
--- a/browser/extensions/activity-stream/prerendered/locales/id/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/id/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nuova scheda</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca sul Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca sul Web" title="Cerca sul Web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Siti principali</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Consigliati da Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Argomenti popolari:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidenza</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizza la pagina Nuova scheda"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cerca sul Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cerca sul Web" title="Cerca sul Web"/><button id="searchSubmit" class="search-button" title="Cerca"><span class="sr-only"><span>Cerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Siti principali</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifica questo sito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Consigliati da Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Argomenti popolari:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidenza</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Apri il menu contestuale per la sezione</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizza la pagina Nuova scheda"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/it/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No grazie",
   "manual_migration_import_button": "Importa adesso",
   "error_fallback_default_info": "Oops, qualcosa è andato storto durante il tentativo di caricare questo contenuto.",
   "error_fallback_default_refresh_suggestion": "Aggiornare la pagina per riprovare.",
   "section_menu_action_remove_section": "Rimuovi sezione",
   "section_menu_action_collapse_section": "Comprimi sezione",
   "section_menu_action_expand_section": "Espandi sezione",
   "section_menu_action_manage_section": "Gestisci sezione",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Aggiungi sito principale",
   "section_menu_action_move_up": "Sposta in alto",
   "section_menu_action_move_down": "Sposta in basso",
   "section_menu_action_privacy_notice": "Informativa sulla privacy",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Ripristina valori predefiniti",
   "settings_pane_header": "Preferenze Nuova scheda",
   "settings_pane_body2": "Scegli quali elementi visualizzare in questa pagina.",
   "settings_pane_search_header": "Ricerca",
   "settings_pane_search_body": "Avvia ricerche in una nuova scheda.",
   "settings_pane_topsites_body": "Accedi ai siti che visiti più spesso.",
   "settings_pane_topsites_options_showmore": "Visualizza due righe",
   "settings_pane_highlights_body2": "Ritrova pagine interessanti che avevi visitato o aggiunto ai segnalibri.",
--- a/browser/extensions/activity-stream/prerendered/locales/it/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/it/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>新しいタブ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ウェブを検索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ウェブを検索" title="ウェブを検索"/><button id="searchSubmit" class="search-button" title="検索"><span class="sr-only"><span>検索</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>トップサイト</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket のおすすめ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>人気のトピック:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ハイライト</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="新しいタブページをカスタマイズ"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ウェブを検索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ウェブを検索" title="ウェブを検索"/><button id="searchSubmit" class="search-button" title="検索"><span class="sr-only"><span>検索</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>トップサイト</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="このサイトを編集"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket のおすすめ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>人気のトピック:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ハイライト</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>セクションのコンテキストメニューを開く</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="新しいタブページをカスタマイズ"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "今はしない",
   "manual_migration_import_button": "今すぐインポート",
   "error_fallback_default_info": "このコンテンツの読み込み中に何か問題が発生しました。",
   "error_fallback_default_refresh_suggestion": "ページを再読み込みして再確認してください。",
   "section_menu_action_remove_section": "セクションを削除",
   "section_menu_action_collapse_section": "セクションを折りたたむ",
   "section_menu_action_expand_section": "セクションを広げる",
   "section_menu_action_manage_section": "セクションを管理",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "トップサイトを追加",
   "section_menu_action_move_up": "上へ移動",
   "section_menu_action_move_down": "下へ移動",
   "section_menu_action_privacy_notice": "プライバシー通知",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "初期設定に戻す",
   "settings_pane_header": "新しいタブの設定",
   "settings_pane_body2": "このページに表示する内容を選択してください。",
   "settings_pane_search_header": "検索",
   "settings_pane_search_body": "新しいタブからウェブを検索します。",
   "settings_pane_topsites_body": "よく訪れるサイトへアクセス。",
   "settings_pane_topsites_options_showmore": "2 行で表示",
   "settings_pane_highlights_body2": "最近訪れたりブックマークしたりした興味のあるページへ戻る方法を見つけましょう。",
--- a/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ja/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ახალი ჩანართი</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ინტერნეტში ძიება</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ინტერნეტში ძიება" title="ინტერნეტში ძიება"/><button id="searchSubmit" class="search-button" title="ძიება"><span class="sr-only"><span>ძიება</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>რჩეული საიტები</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket-ის შემოთავაზებული</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>პოპულარული თემები:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>მნიშვნელოვანი საიტები</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="მოირგეთ ახალი ჩანართის გვერდი"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ინტერნეტში ძიება</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ინტერნეტში ძიება" title="ინტერნეტში ძიება"/><button id="searchSubmit" class="search-button" title="ძიება"><span class="sr-only"><span>ძიება</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>რჩეული საიტები</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="საიტის ჩასწორება"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket-ის შემოთავაზებული</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>პოპულარული თემები:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>მნიშვნელოვანი საიტები</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>გვერდის ნაწილების პარამეტრები</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="მოირგეთ ახალი ჩანართის გვერდი"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream-strings.js
@@ -43,17 +43,17 @@ window.gActivityStreamStrings = {
   "prefs_section_rows_option": "{num} რიგად;{num} რიგად",
   "prefs_search_header": "საძიებო ველი",
   "prefs_topsites_description": "ხშირად მონახულებული საიტები",
   "prefs_topstories_description2": "მნიშვნელოვანი ამბები ინტერნეტ-სამყაროდან, შერჩეული თქვენი ინტერესების მიხედვით",
   "prefs_topstories_options_sponsored_label": "დაფინანსებული სტატიები",
   "prefs_topstories_sponsored_learn_more": "იხილეთ ვრცლად",
   "prefs_highlights_description": "თქვენ მიერ შენახული ან ბოლოს მონახულებული საიტები",
   "prefs_highlights_options_visited_label": "მონახულებული გვერდები",
-  "prefs_highlights_options_download_label": "უახლესი ჩამოტვირთვა",
+  "prefs_highlights_options_download_label": "ბოლო ჩამოტვირთვები",
   "prefs_highlights_options_pocket_label": "Pocket-ში შენახული გვერდები",
   "prefs_snippets_description": "სიახლეები Mozilla-სა და Firefox-ისგან",
   "settings_pane_button_label": "მოირგეთ ახალი ჩანართის გვერდი",
   "settings_pane_topsites_header": "რჩეული საიტები",
   "settings_pane_highlights_header": "მნიშვნელოვანი საიტები",
   "settings_pane_highlights_options_bookmarks": "სანიშნები",
   "settings_pane_snippets_header": "ცნობები",
   "edit_topsites_button_text": "ჩასწორება",
@@ -69,37 +69,36 @@ window.gActivityStreamStrings = {
   "topsites_form_preview_button": "შეთვალიერება",
   "topsites_form_add_button": "დამატება",
   "topsites_form_save_button": "შენახვა",
   "topsites_form_cancel_button": "გაუქმება",
   "topsites_form_url_validation": "საჭიროა მართებული URL",
   "topsites_form_image_validation": "სურათი ვერ ჩაიტვირთა. სცადეთ სხვა URL ბმული.",
   "pocket_read_more": "პოპულარული თემები:",
   "pocket_read_even_more": "მეტი სიახლის ნახვა",
-  "highlights_empty_state": "დაიწყეთ გვერდების დათვალიერება და აქ გამოჩნდება თქვენი რჩეული სტატიები, ვიდეოები და ბოლოს მონახულებული, ან ჩანიშნული საიტები.",
+  "highlights_empty_state": "დაიწყეთ გვერდების დათვალიერება და აქ გამოჩნდება თქვენი რჩეული სტატიები, ვიდეოები და ბოლოს მონახულებული ან ჩანიშნული საიტები.",
   "topstories_empty_state": "უკვე ყველაფერი წაკითხული გაქვთ. {provider}-იდან ახალი რჩეული სტატიების მისაღებად, მოგვიანებით შემოიარეთ. თუ ვერ ითმენთ, აირჩიეთ რომელიმე მოთხოვნადი თემა, ახალი საინტერესო სტატიების მოსაძიებლად.",
   "manual_migration_explanation2": "გადმოიტანეთ სხვა ბრაუზერებიდან თქვენი სანიშნები, ისტორია და პაროლები Firefox-ში.",
   "manual_migration_cancel_button": "არა, გმადლობთ",
   "manual_migration_import_button": "ახლავე გადმოტანა",
   "error_fallback_default_info": "სამწუხაროდ, შიგთავსის ჩატვირთვისას რაღაც ხარვეზი წარმოიქმნა.",
   "error_fallback_default_refresh_suggestion": "განაახლეთ გვერდი და სცადეთ ხელახლა.",
   "section_menu_action_remove_section": "ამ ნაწილის მოცილება",
   "section_menu_action_collapse_section": "ამ ნაწილის აკეცვა",
   "section_menu_action_expand_section": "ამ ნაწილის გაშლა",
   "section_menu_action_manage_section": "გვერდის ნაწილების მართვა",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "რჩეული საიტის დამატება",
   "section_menu_action_move_up": "აწევა",
   "section_menu_action_move_down": "ჩამოწევა",
   "section_menu_action_privacy_notice": "პირადი მონაცემების დაცვის განაცხადი",
-  "prefs_restore_defaults_button": "ნაგულისხმევის აღდგენა",
-  "settings_pane_header": "ახალი ჩანართის პარამეტრები",
-  "settings_pane_body2": "მიუთითეთ, რისი ხილვა გსურთ ამ გვერდზე.",
-  "settings_pane_search_header": "ძიება",
-  "settings_pane_search_body": "ძიება ინტერნეტში ახალი ჩანართიდან.",
-  "settings_pane_topsites_body": "წვდომა ხშირად მონახულებულ საიტებთან.",
-  "settings_pane_topsites_options_showmore": "ორ რიგად ჩვენება",
-  "settings_pane_highlights_body2": "მარტივად დაუბრუნდით ბოლოს მონახულებულ, ან ჩანიშნულ გვერდებს.",
-  "settings_pane_highlights_options_visited": "მონახულებული საიტები",
-  "settings_pane_snippets_body": "გაეცანით მოკლე, საინტერესო სიახლეებს Mozilla-სგან, Firefox-ის, ინტერნეტსამყაროს მიღწევებისა და სხვა დასამახსოვრებელი ფაქტების შესახებ.",
-  "settings_pane_done_button": "მზადაა",
-  "settings_pane_topstories_options_sponsored": "დაფინანსებული სტატიების ჩვენება",
-  "pocket_description": "გაეცანით ინტერნეტში არსებულ მაღალი ხარისხის მასალას Pocket-ის საშუალებით, რომელიც ახლა უკვე Mozilla-ს ნაწილს წარმოადგენს."
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ka/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Iccer amaynut</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Nadi di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Nadi di Web" title="Nadi di Web"/><button id="searchSubmit" class="search-button" title="Nadi"><span class="sr-only"><span>Nadi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Ismal ifazen</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iwelleh-it-id Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Isental ittwasnen aṭas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Asebrureq</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Sagen asebter n yiccer-ik amaynut"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Nadi di Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Nadi di Web" title="Nadi di Web"/><button id="searchSubmit" class="search-button" title="Nadi"><span class="sr-only"><span>Nadi</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Ismal ifazen</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Ẓreg asmel-agi"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iwelleh-it-id Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Isental ittwasnen aṭas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Asebrureq</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Ldi umuɣ n usatal n tgezmi</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Sagen asebter n yiccer-ik amaynut"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream-strings.js
@@ -5,56 +5,56 @@ window.gActivityStreamStrings = {
   "header_highlights": "Asebrureq",
   "header_recommended_by": "Iwelleh-it-id {provider}",
   "context_menu_button_sr": "Ldi umuɣ asatal i {title}",
   "section_context_menu_button_sr": "Ldi umuɣ n usatal n tgezmi",
   "type_label_visited": "Yettwarza",
   "type_label_bookmarked": "Yettwacreḍ",
   "type_label_recommended": "Tiddin",
   "type_label_pocket": "Yettwakles ɣer Pocket",
-  "type_label_downloaded": "Downloaded",
+  "type_label_downloaded": "Yuli-d",
   "menu_action_bookmark": "Creḍ asebter-agi",
   "menu_action_remove_bookmark": "Kkes tacreṭ-agi",
   "menu_action_open_new_window": "Ldei deg usfaylu amaynut",
   "menu_action_open_private_window": "Ldi deg usfaylu uslig amaynut",
   "menu_action_dismiss": "Kkes",
   "menu_action_delete": "Kkes seg umazray",
   "menu_action_pin": "Senteḍ",
   "menu_action_unpin": "Serreḥ",
   "confirm_history_delete_p1": "Tebɣiḍ ad tekksed yal tummant n usebter-agi seg umazray-ik?",
   "confirm_history_delete_notice_p2": "Tigawt-agi ur tettuɣal ara ar deffir.",
   "menu_action_save_to_pocket": "Sekles ɣer Pocket",
   "menu_action_delete_pocket": "Kkes si Pocket",
   "menu_action_archive_pocket": "Ḥrez di Pocket",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_show_file_mac_os": "Sken deg Finder",
+  "menu_action_show_file_windows": "Ldi akaram deg yella ufaylu",
+  "menu_action_show_file_linux": "Ldi akaram deg yella ufaylu",
+  "menu_action_show_file_default": "Sken afaylu",
+  "menu_action_open_file": "Ldi afaylu",
+  "menu_action_copy_download_link": "Nɣel tansa n useɣwen n usali",
+  "menu_action_go_to_download_page": "Ddu ɣer usebter n usider",
+  "menu_action_remove_download": "Kkes seg umazray",
   "search_button": "Nadi",
   "search_header": "Anadi {search_engine_name}",
   "search_web_placeholder": "Nadi di Web",
   "section_disclaimer_topstories": "Tiqṣiḍin ifazen ak deg Web, ttwafernent ilmend n wayen teqqareḍ. Seg Pocket i yuγal akka d aḥric n Mozilla.",
   "section_disclaimer_topstories_linktext": "Issin amek i teddu.",
   "section_disclaimer_topstories_buttontext": "Ih, awi-t-id",
   "prefs_home_header": "Agbur agejdan Firefox",
   "prefs_home_description": "Fren agbur i tebɣiḍ deg ugdil agejdan Firefox.",
   "prefs_section_rows_option": "{num} izirig;{num} izirigen",
   "prefs_search_header": "Anadi Web",
   "prefs_topsites_description": "Ismal i tettwaliḍ aṭas",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_description2": "Agbur meqqren seg umaḍal, yettwag i kečč",
+  "prefs_topstories_options_sponsored_label": "Tiqṣidin yettwarefden",
   "prefs_topstories_sponsored_learn_more": "Issin ugar",
   "prefs_highlights_description": "Tafrant n yismal i teskelseḍ neɣ i twalaḍ",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
+  "prefs_highlights_options_visited_label": "isebtar yettwarzan",
+  "prefs_highlights_options_download_label": "Isidar imaynuten",
+  "prefs_highlights_options_pocket_label": "Isebtar yettwaḥerzen ar Pocket",
   "prefs_snippets_description": "Ileqman seg Mozilla d Firefox",
   "settings_pane_button_label": "Sagen asebter n yiccer-ik amaynut",
   "settings_pane_topsites_header": "Ismal ifazen",
   "settings_pane_highlights_header": "Asebrureq",
   "settings_pane_highlights_options_bookmarks": "Ticraḍ n isebtar",
   "settings_pane_snippets_header": "Tiwzillin",
   "edit_topsites_button_text": "Ẓreg",
   "edit_topsites_edit_button": "Ẓreg asmel-agi",
@@ -80,65 +80,25 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ala, tanemmirt",
   "manual_migration_import_button": "Kter tura",
   "error_fallback_default_info": "Ihuh, yella wayen yeḍran deg usali n ugbur-a.",
   "error_fallback_default_refresh_suggestion": "Sali-d aseter akken ad talseḍ aɛraḍ.",
   "section_menu_action_remove_section": "Kkes tigezmi",
   "section_menu_action_collapse_section": "Fneẓ tigezmi",
   "section_menu_action_expand_section": "Snefli tigezmi",
   "section_menu_action_manage_section": "Sefrek tigezmi",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Rnu asmel ifazen",
   "section_menu_action_move_up": "Ali",
   "section_menu_action_move_down": "Ader",
   "section_menu_action_privacy_notice": "Tasertit n tbaḍnit",
-  "default_label_loading": "Asali…",
-  "header_stories": "Tiqsiɣin ifazen",
-  "header_visit_again": "Rzu tikelt-nniḍen",
-  "header_bookmarks": "Ticraḍ n melmi kan",
-  "header_bookmarks_placeholder": "Ur ɣur-k ara ticraḍ yakan.",
-  "header_stories_from": "seg",
-  "type_label_synced": "Yemtawi seg ibenk-nniḍen",
-  "type_label_open": "Yeldi",
-  "type_label_topic": "Asentel",
-  "type_label_now": "Tura",
-  "menu_action_copy_address": "Nγel tansa",
-  "menu_action_email_link": "Azen aseγwen s yimayl…",
-  "search_for_something_with": "Nadi γef {search_term} s:",
-  "search_settings": "Snifel iγewwaṛen n unadi",
-  "section_info_option": "Talɣut",
-  "section_info_send_feedback": "Azen tikti",
-  "section_info_privacy_notice": "Tasertit n tbaḍnit",
-  "welcome_title": "Ansuf ar yiccer amaynut",
-  "welcome_body": "Firefox ad iseqdec tallunt akken ad d-yesken akk ticraḍ n isebtar iwulmen, imagraden, tividyutin, akked isebtar aniɣer terziḍ melmi kan, ihi tzemreḍ ad d-uɣaleḍ ɣer-sen s wudem fessusen.",
-  "welcome_label": "Asulu n iferdisen tisura",
-  "time_label_less_than_minute": "<1 n tesdat",
-  "time_label_minute": "{number} n tesdatin",
-  "time_label_hour": "{number} n isragen",
-  "time_label_day": "{number}n wussan",
-  "prefs_restore_defaults_button": "Err-d eɣewwaṛen n tazwara",
-  "prefs_topstories_description": "Agbur n tɣara meqqren i tzegleḍ ahat",
-  "prefs_topstories_show_sponsored_label": "Tiqsiḍin yettwarefden {provider}",
-  "settings_pane_header": "Ismenyifen n yiccer amaynut",
-  "settings_pane_body2": "Fren ayen ad twaliḍ deg usebter-agi.",
-  "settings_pane_search_header": "Nadi",
-  "settings_pane_search_body": "Nadi di Web seg iccer-ik amaynut.",
-  "settings_pane_topsites_body": "Kcem ar yesmal web i trezzuḍ s waṭas.",
-  "settings_pane_topsites_options_showmore": "Sken sin izirigen",
-  "settings_pane_bookmarks_header": "Ticraḍ n melmi kan",
-  "settings_pane_bookmarks_body": "Ticraḍ yettwarnan melmi kan deg iwen n umdiq ɣef afus.",
-  "settings_pane_visit_again_header": "Rzu tikelt-nniḍen",
-  "settings_pane_visit_again_body": "Firefox ad d-yesken tukkist n umazray-ik n tunigin i tzemreḍ ad twalid tikelt-nniḍen.",
-  "settings_pane_highlights_body2": "Aff abrid-ik γer wayen i tḥemmleḍ i γef terziḍ yakan neγ tcerḍeḍ-t.",
-  "settings_pane_highlights_options_visited": "Ismal yettwarzan",
-  "settings_pane_snippets_body": "Wali issalen n Mozilla γef Firefox, adlis internet, akked issalen nniṣen sya γer da.",
-  "settings_pane_done_button": "Immed",
-  "settings_pane_topstories_options_sponsored": "Sken Imagraden yesɛan imasayen",
-  "edit_topsites_button_label": "Sagen tigezmi n ismal ifazen",
-  "edit_topsites_showmore_button": "Sken ugar",
-  "edit_topsites_showless_button": "Sken qel",
-  "edit_topsites_done_button": "Immed",
-  "edit_topsites_pin_button": "Ṭṭef asmel-agi",
-  "edit_topsites_unpin_button": "Serreḥ asmel-agi",
-  "edit_topsites_dismiss_button": "Anef i usmel-agi",
-  "edit_topsites_add_button": "Rnu",
-  "pocket_feedback_header": "D amezwaru n Web, ittwafren sγur ugar 25 imelyan n imdanen.",
-  "pocket_description": "S lmendad n Pocket n Mozillan wali aqbur ifazen aṭas, s ttawil-a werǧin ad tzegleḍ taγawsa."
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kab/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Жаңа бет</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Интернетте іздеу</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Интернетте іздеу" title="Интернетте іздеу"/><button id="searchSubmit" class="search-button" title="Іздеу"><span class="sr-only"><span>Іздеу</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Үздік сайттар</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Ұсынушы Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Әйгілі тақырыптар:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Ерекше жаңалықтар</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Жаңа бетті баптаңыз"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Интернетте іздеу</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Интернетте іздеу" title="Интернетте іздеу"/><button id="searchSubmit" class="search-button" title="Іздеу"><span class="sr-only"><span>Іздеу</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Үздік сайттар</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Бұл сайтты түзету"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Ұсынушы Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Әйгілі тақырыптар:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Ерекше жаңалықтар</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Санаттың контекст мәзірін ашу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Жаңа бетті баптаңыз"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Жоқ, рахмет",
   "manual_migration_import_button": "Қазір импорттау",
   "error_fallback_default_info": "Қап, бұл құраманы жүктеу кезінде бірнәрсе қате кетті.",
   "error_fallback_default_refresh_suggestion": "Қайталап көру үшін, бетті жаңартыңыз.",
   "section_menu_action_remove_section": "Санатты өшіру",
   "section_menu_action_collapse_section": "Санатты бүктеу",
   "section_menu_action_expand_section": "Санатты жазық қылу",
   "section_menu_action_manage_section": "Санатты басқару",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Үздік сайт қосу",
   "section_menu_action_move_up": "Жоғары жылжыту",
   "section_menu_action_move_down": "Төмен жылжыту",
   "section_menu_action_privacy_notice": "Жекелік ескертуі",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Бастапқы мәндерін қайтару",
   "settings_pane_header": "Жаңа бет баптаулары",
   "settings_pane_body2": "Бұл бетте не көргіңіз келетінді таңдаңыз.",
   "settings_pane_search_header": "Іздеу",
   "settings_pane_search_body": "Жаңа беттен интернеттен іздеңіз.",
   "settings_pane_topsites_body": "Көбірек қаралатын сайттарға қатынау.",
   "settings_pane_topsites_options_showmore": "Екі жолды көрсету",
   "settings_pane_highlights_body2": "Сіз жақында қараған немесе бетбелгілерге қосқан қызықты нәрселерге қайтатын жолды табыңыз.",
--- a/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kk/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ផ្ទាំង​ថ្មី</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ស្វែងរក​បណ្ដាញ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ស្វែងរក​បណ្ដាញ" title="ស្វែងរក​បណ្ដាញ"/><button id="searchSubmit" class="search-button" title="ស្វែងរក"><span class="sr-only"><span>ស្វែងរក</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>វិបសាយ​លើ​គេ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>បានណែនាំដោយ Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ប្រធានបទកំពុងពេញនិយម៖</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>រឿងសំខាន់ៗ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ស្វែងរក​បណ្ដាញ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ស្វែងរក​បណ្ដាញ" title="ស្វែងរក​បណ្ដាញ"/><button id="searchSubmit" class="search-button" title="ស្វែងរក"><span class="sr-only"><span>ស្វែងរក</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>វិបសាយ​លើ​គេ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="កែសម្រួលសាយនេះ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>បានណែនាំដោយ Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ប្រធានបទកំពុងពេញនិយម៖</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>រឿងសំខាន់ៗ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/km/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "ទេ អរគុណ",
   "manual_migration_import_button": "នាំចូលឥឡូវនេះ",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "កំពុង​ផ្ទុក...",
   "header_stories": "រឿងរ៉ាវកំពូល",
   "header_visit_again": "ទស្សនាម្តងទៀត",
   "header_bookmarks": "ចំណាំថ្មីៗ",
   "header_bookmarks_placeholder": "អ្នកមិនមានចំណាំណាមួយនៅឡើយទេ ។",
   "header_stories_from": "មកពី",
   "type_label_synced": "បាន​ធ្វើ​សមកាលកម្ម​ពី​ឧបករណ៍​ផ្សេង​ទៀត",
   "type_label_open": "បើក",
--- a/browser/extensions/activity-stream/prerendered/locales/km/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/km/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ಹೊಸ ಹಾಳೆ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ" title="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ"/><button id="searchSubmit" class="search-button" title="ಹುಡುಕು"><span class="sr-only"><span>ಹುಡುಕು</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ಪ್ರಮುಖ ತಾಣಗಳು</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ರಿಂದ ಶಿಫಾರಸುಮಾಡುಲಾಗಿದೆ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ಜನಪ್ರಿಯವಾದ ವಿಷಯಗಳು:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ಮುಖ್ಯಾಂಶಗಳು</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ಹೊಸ ಹಾಳೆಯ ಪುಟವನ್ನು ಅಗತ್ಯಾನುಗುಣಗೊಳಿಸಿ"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ" title="ಅಂತರ್ಜಾಲವನ್ನು ಹುಡುಕಿ"/><button id="searchSubmit" class="search-button" title="ಹುಡುಕು"><span class="sr-only"><span>ಹುಡುಕು</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ಪ್ರಮುಖ ತಾಣಗಳು</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ಈ ತಾಣವನ್ನು ಸಂಪಾದಿಸು"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ರಿಂದ ಶಿಫಾರಸುಮಾಡುಲಾಗಿದೆ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ಜನಪ್ರಿಯವಾದ ವಿಷಯಗಳು:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ಮುಖ್ಯಾಂಶಗಳು</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ಹೊಸ ಹಾಳೆಯ ಪುಟವನ್ನು ಅಗತ್ಯಾನುಗುಣಗೊಳಿಸಿ"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "ಪರವಾಗಿಲ್ಲ",
   "manual_migration_import_button": "ಈಗ ಆಮದು ಮಾಡು",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "ಲೋಡ್ ಆಗುತ್ತಿದೆ…",
   "header_stories": "ಪ್ರಮುಖ ಸುದ್ದಿಗಳು",
   "header_visit_again": "ಮತ್ತೆ ಭೇಟಿಕೊಡು",
   "header_bookmarks": "ಇತ್ತೀಚಿಗೆ ಮಾಡಲಾದ ಬುಕ್‌ಮಾರ್ಕುಗಳು",
   "header_bookmarks_placeholder": "ನಿಮ್ಮ ಹತ್ತಿರ ಇನ್ನೂ ಯಾವುದೇ ಪುಟಗುರುತುಗಳಿಲ್ಲ.",
   "header_stories_from": "ಯಿಂದ",
   "type_label_synced": "ಮತ್ತೊಂದು ಸಾಧನದಿಂದ ಸಿಂಕ್ ಮಾಡಲಾಗಿದೆ",
   "type_label_open": "ತೆರೆ",
--- a/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/kn/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>새 탭</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>웹 검색</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="웹 검색" title="웹 검색"/><button id="searchSubmit" class="search-button" title="검색"><span class="sr-only"><span>검색</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>상위 사이트</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>섹션 컨텍스트 메뉴 열기</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 추천</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>섹션 컨텍스트 메뉴 열기</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>인기 주제:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>하이라이트</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>섹션 컨텍스트 메뉴 열기</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="새 탭 페이지 꾸미기"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>웹 검색</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="웹 검색" title="웹 검색"/><button id="searchSubmit" class="search-button" title="검색"><span class="sr-only"><span>검색</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>상위 사이트</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>섹션 컨텍스트 메뉴 열기</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="이 사이트 수정"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 추천</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>섹션 컨텍스트 메뉴 열기</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>인기 주제:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>하이라이트</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>섹션 컨텍스트 메뉴 열기</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="새 탭 페이지 꾸미기"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "괜찮습니다",
   "manual_migration_import_button": "지금 가져오기",
   "error_fallback_default_info": "이 콘텐츠를 불러오는데 오류가 발생하였습니다.",
   "error_fallback_default_refresh_suggestion": "페이지를 새로고침해서 다시 시도해 주세요.",
   "section_menu_action_remove_section": "섹션 삭제",
   "section_menu_action_collapse_section": "섹션 닫기",
   "section_menu_action_expand_section": "섹션 열기",
   "section_menu_action_manage_section": "섹션 관리",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "인기 사이트 추가",
   "section_menu_action_move_up": "위로 이동",
   "section_menu_action_move_down": "아래로 이동",
   "section_menu_action_privacy_notice": "개인 정보 보호 정책",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "기본값으로 복원",
   "settings_pane_header": "새 탭 설정",
   "settings_pane_body2": "이 페이지에서 볼 것을 선택하세요.",
   "settings_pane_search_header": "검색",
   "settings_pane_search_body": "새 탭에서 웹을 검색하세요.",
   "settings_pane_topsites_body": "가장 많이 방문한 웹 사이트에 접근하세요.",
   "settings_pane_topsites_options_showmore": "두 줄로 보기",
   "settings_pane_highlights_body2": "최근에 방문했거나 북마크한 흥미로운 것들로 돌아갈 수 있는 방법입니다.",
--- a/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ko/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Neuvo Feuggio</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Çerca inta Ræ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Çerca inta Ræ" title="Çerca inta Ræ"/><button id="searchSubmit" class="search-button" title="Çerca"><span class="sr-only"><span>Çerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>I megio sciti</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Arvi into menû contesto pe-a seçion</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Consegiou da Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Arvi into menû contesto pe-a seçion</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Argomenti popolari:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidensa</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Arvi into menû contesto pe-a seçion</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizza a teu pagina Neuvo feuggio"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Çerca inta Ræ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Çerca inta Ræ" title="Çerca inta Ræ"/><button id="searchSubmit" class="search-button" title="Çerca"><span class="sr-only"><span>Çerca</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>I megio sciti</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Arvi into menû contesto pe-a seçion</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Cangia sto scito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Consegiou da Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Arvi into menû contesto pe-a seçion</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Argomenti popolari:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>In evidensa</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Arvi into menû contesto pe-a seçion</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizza a teu pagina Neuvo feuggio"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No graçie",
   "manual_migration_import_button": "Inpòrta oua",
   "error_fallback_default_info": "Ahime mi, gh'é quarche problema into caregamento de sto contegnuo.",
   "error_fallback_default_refresh_suggestion": "Agiorna pagina pe provâ torna.",
   "section_menu_action_remove_section": "Scancella seçion",
   "section_menu_action_collapse_section": "Conprimmi seçion",
   "section_menu_action_expand_section": "Espandi seçion",
   "section_menu_action_manage_section": "Gestisci seçion",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Azonzi scito prinçipâ",
   "section_menu_action_move_up": "Mescia in sciù",
   "section_menu_action_move_down": "Mescia in zu",
   "section_menu_action_privacy_notice": "Informativa in sciâ privacy",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Repiggia predefinii",
   "settings_pane_header": "Preferense neuvo feuggio",
   "settings_pane_body2": "Çerni cöse ti veu vedde in sta pagina.",
   "settings_pane_search_header": "Çerca",
   "settings_pane_search_body": "Çerca inta Ræ da-o teu neuvo feuggio.",
   "settings_pane_topsites_body": "Acedi a-i sciti che ti vixiti ciù de spesso.",
   "settings_pane_topsites_options_showmore": "Fanni vedde doe righe",
   "settings_pane_highlights_body2": "Treuva torna e pagine interesanti che t'aivi vixitou ò azonto a-i segnalibbri.",
--- a/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lij/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ແທັບໃຫມ່</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ຊອກຫາເວັບ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ຊອກຫາເວັບ" title="ຊອກຫາເວັບ"/><button id="searchSubmit" class="search-button" title="ຊອກ​ຫາ"><span class="sr-only"><span>ຊອກ​ຫາ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ເວັບໄຊຕ໌ຍອດນິຍົມ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ແນະນຳໂດຍ Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ຫົວຂໍ້ຍອດນິຍົມ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ລາຍການເດັ່ນ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ປັບແຕ່ງຫນ້າແທັບໃຫມ່ຂອງທ່ານ"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ຊອກຫາເວັບ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ຊອກຫາເວັບ" title="ຊອກຫາເວັບ"/><button id="searchSubmit" class="search-button" title="ຊອກ​ຫາ"><span class="sr-only"><span>ຊອກ​ຫາ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ເວັບໄຊຕ໌ຍອດນິຍົມ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ແກ້ໄຂເວັບໄຊທ໌ນີ້"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>ແນະນຳໂດຍ Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ຫົວຂໍ້ຍອດນິຍົມ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ລາຍການເດັ່ນ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ປັບແຕ່ງຫນ້າແທັບໃຫມ່ຂອງທ່ານ"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "ບໍ່, ຂອບໃຈ",
   "manual_migration_import_button": "ນຳເຂົ້າຕອນນີ້",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "ເພີ່ມເວັບໄຊທ໌ຍອດນິຍົມ",
   "section_menu_action_move_up": "ຍ້າຍຂື້ນ",
   "section_menu_action_move_down": "ຍ້າຍລົງ",
   "section_menu_action_privacy_notice": "ນະໂຍບາຍຄວາມເປັນສ່ວນຕົວ",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "ກູ້ຄືນຄ່າພື້ນຖານ",
   "settings_pane_header": "ການຕັ້ງຄ່າແທັບໃຫມ່",
   "settings_pane_body2": "ເລືອກສິ່ງທີ່ທ່ານຕ້ອງການເຫັນໃນຫນ້ານີ້.",
   "settings_pane_search_header": "ຊອກຫາ",
   "settings_pane_search_body": "ຊອກຫາເວັບຈາກແທັບໃຫມ່ຂອງທ່ານ.",
   "settings_pane_topsites_body": "ເຂົ້າເວັບໄຊທ໌ທີ່ທ່ານໄດ້ເຂົ້າໄປຫລາຍທີ່ສຸດ.",
   "settings_pane_topsites_options_showmore": "ສະແດງເປັນສອງແຖວ",
   "settings_pane_highlights_options_visited": "ໄຊທ໌ທີ່ເຂົ້າໄປເບິ່ງແລ້ວ",
--- a/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lo/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nauja kortelė</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ieškokite saityne</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ieškokite saityne" title="Ieškokite saityne"/><button id="searchSubmit" class="search-button" title="Ieškoti"><span class="sr-only"><span>Ieškoti</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lankomiausios svetainės</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendavo „Pocket“</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populiarios temos:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Akcentai</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tinkinkite savo naujos kortelės puslapį"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Ieškokite saityne</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Ieškokite saityne" title="Ieškokite saityne"/><button id="searchSubmit" class="search-button" title="Ieškoti"><span class="sr-only"><span>Ieškoti</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Lankomiausios svetainės</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redaguoti šią svetainę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomendavo „Pocket“</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populiarios temos:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Akcentai</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atverti skilties kontekstinį meniu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tinkinkite savo naujos kortelės puslapį"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ačiū, ne",
   "manual_migration_import_button": "Importuoti dabar",
   "error_fallback_default_info": "Ups, įkeliant šį turinį įvyko klaida.",
   "error_fallback_default_refresh_suggestion": "Pabandykite iš naujo įkelti tinklalapį.",
   "section_menu_action_remove_section": "Pašalinti skiltį",
   "section_menu_action_collapse_section": "Suskleisti skiltį",
   "section_menu_action_expand_section": "Išplėsti skiltį",
   "section_menu_action_manage_section": "Tvarkyti skiltį",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Pridėti lankomą svetainę",
   "section_menu_action_move_up": "Pakelti",
   "section_menu_action_move_down": "Nuleisti",
   "section_menu_action_privacy_notice": "Privatumo nuostatai",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Grąžinti numatytąsias nuostatas",
   "settings_pane_header": "Naujos kortelės nuostatos",
   "settings_pane_body2": "Pasirinkite, ką matysite šiame tinklalapyje.",
   "settings_pane_search_header": "Paieška",
   "settings_pane_search_body": "Ieškokite saityne tiesiai iš naujos kortelės.",
   "settings_pane_topsites_body": "Pasiekite jūsų dažniausiai lankomas svetaines.",
   "settings_pane_topsites_options_showmore": "Rodyti dvi eilutes",
   "settings_pane_highlights_body2": "Sugrįžkite prie įdomių dalykų, kuriuose neseniai lankėtės ar įtraukėte į adresyną.",
--- a/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lt/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Jauna cilne</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mekleit teiklā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mekleit teiklā" title="Mekleit teiklā"/><button id="searchSubmit" class="search-button" title="Mekleit"><span class="sr-only"><span>Mekleit</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Popularōkōs lopys</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket īsaceitōs</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularas tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Izraudzeitī</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Īstateit sovu jaunas cilnes lopu"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Mekleit teiklā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Mekleit teiklā" title="Mekleit teiklā"/><button id="searchSubmit" class="search-button" title="Mekleit"><span class="sr-only"><span>Mekleit</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Popularōkōs lopys</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Maineit lopu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket īsaceitōs</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularas tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Izraudzeitī</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Īstateit sovu jaunas cilnes lopu"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nā, paļdis",
   "manual_migration_import_button": "Importeit",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Īlōdej…",
   "header_stories": "Popularōkī roksti",
   "header_visit_again": "Apsavērt nu jauna",
   "header_bookmarks": "Naseņ saglobōtōs",
   "header_bookmarks_placeholder": "Tu vāļ naesi nikū saglobōjs.",
   "header_stories_from": "nu",
   "type_label_synced": "Sinhroniziets nu cytas īreices",
   "type_label_open": "Attaiseit",
--- a/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ltg/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Jauna cilne</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Meklēt internetā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Meklēt internetā" title="Meklēt internetā"/><button id="searchSubmit" class="search-button" title="Meklēt"><span class="sr-only"><span>Meklēt</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Populārākās lapas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iesaka Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populārās tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Aktualitātes</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Pielāgojiet jaunās cilnes lapu"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Meklēt internetā</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Meklēt internetā" title="Meklēt internetā"/><button id="searchSubmit" class="search-button" title="Meklēt"><span class="sr-only"><span>Meklēt</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Populārākās lapas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediģēt šo lapu"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Iesaka Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populārās tēmas:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Aktualitātes</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Atvērt sadaļas izvēlni</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Pielāgojiet jaunās cilnes lapu"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nē, paldies",
   "manual_migration_import_button": "Importē tagad",
   "error_fallback_default_info": "Ak vai, ielādējot saturu kaut kas nogājis greizi.",
   "error_fallback_default_refresh_suggestion": "Pārlādējiet lapu, lai mēģinātu vēlreiz.",
   "section_menu_action_remove_section": "Aizvākt sadaļu",
   "section_menu_action_collapse_section": "Sakļaut sadaļu",
   "section_menu_action_expand_section": "Izvērst sadaļu",
   "section_menu_action_manage_section": "Pārvaldīt sadaļu",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Pievienot populāru lapu",
   "section_menu_action_move_up": "Pārvietot augšup",
   "section_menu_action_move_down": "Pārvietot lejup",
   "section_menu_action_privacy_notice": "Privātuma politika",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Atjaunot sākotnējos",
   "prefs_topstories_description": "Labas kvalitātes saturs, kas jūs varētu intereēt",
   "prefs_topstories_show_sponsored_label": "{provider} sponsorētie stāsti",
   "settings_pane_header": "Jaunas cilnes iestatījumi",
   "settings_pane_body2": "Izvēlieties, ko gribat redzēt šajā lapā.",
   "settings_pane_search_header": "Meklēšana",
   "settings_pane_search_body": "Meklējiet tīmeklī no jaunās cilnes lapas.",
   "settings_pane_topsites_body": "Ātri nokļūstiet biežāk apmeklētajās lapās.",
--- a/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/lv/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/prerendered/locales/mai/activity-stream-prerendered.html
@@ -0,0 +1,39 @@
+<!doctype html>
+<html lang="mai" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
+    <title>नव टैब</title>
+    <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
+    <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
+    <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
+  </head>
+  <body class="activity-stream">
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेब पर खोजू</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेब पर खोजू" title="वेब पर खोजू"/><button id="searchSubmit" class="search-button" title="खोज"><span class="sr-only"><span>खोज</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>टॉप साइट</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>सेक्शन कॉन्टेक्ट मेनू खोलू</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ई साइट केँ संपादित करू"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा अनुशंसित</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>सेक्शन कॉन्टेक्ट मेनू खोलू</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय विषय:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>हाइलाइट</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>सेक्शन कॉन्टेक्ट मेनू खोलू</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="अपन नव टैब पृष्ठ पसंदीदा बनाउ"></button></div></div></main></div></div></div>
+    <div id="snippets-container">
+      <div id="snippets"></div>
+    </div>
+    <script>
+// Don't directly load the following scripts as part of html to let the page
+// finish loading to render the content sooner.
+for (const src of [
+  "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
+  "chrome://browser/content/contentSearchUI.js",
+  "resource://activity-stream/vendor/react.js",
+  "resource://activity-stream/vendor/react-dom.js",
+  "resource://activity-stream/vendor/prop-types.js",
+  "resource://activity-stream/vendor/react-intl.js",
+  "resource://activity-stream/vendor/redux.js",
+  "resource://activity-stream/vendor/react-redux.js",
+  "resource://activity-stream/prerendered/mai/activity-stream-strings.js",
+  "resource://activity-stream/data/content/activity-stream.bundle.js"
+]) {
+  // These dynamically inserted scripts by default are async, but we need them
+  // to load in the desired order (i.e., bundle last).
+  const script = document.body.appendChild(document.createElement("script"));
+  script.async = false;
+  script.src = src;
+}
+    </script>
+  </body>
+</html>
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/prerendered/locales/mai/activity-stream-strings.js
@@ -0,0 +1,104 @@
+// Note - this is a generated mai file.
+window.gActivityStreamStrings = {
+  "newtab_page_title": "नव टैब",
+  "header_top_sites": "टॉप साइट",
+  "header_highlights": "हाइलाइट",
+  "header_recommended_by": "{provider} द्वारा अनुशंसित",
+  "context_menu_button_sr": "{title} कलेल कॉन्टेक्स्ट मेनू खोलू",
+  "section_context_menu_button_sr": "सेक्शन कॉन्टेक्ट मेनू खोलू",
+  "type_label_visited": "देखल गेल",
+  "type_label_bookmarked": "बुकमार्क करल",
+  "type_label_recommended": "ट्रेंडिंग",
+  "type_label_pocket": "Pocket मे सहेजल",
+  "type_label_downloaded": "डाउनलोड करल",
+  "menu_action_bookmark": "पुस्तचिह्न",
+  "menu_action_remove_bookmark": "पुस्तचिह्न हटाबू",
+  "menu_action_open_new_window": "नव विंडो मे खोलू",
+  "menu_action_open_private_window": "नव निजी विंडो मे खोलू",
+  "menu_action_dismiss": "खारिज करू",
+  "menu_action_delete": "इतिहास सँ मेटाबू",
+  "menu_action_pin": "पिन करू",
+  "menu_action_unpin": "पिन हटाबू",
+  "confirm_history_delete_p1": "की अहाँ वाकई ई पृष्ठक हर उदाहरण क अपन इतिहास सँ हटाबै चाहैत छी?",
+  "confirm_history_delete_notice_p2": "ई क्रिया केँ पहिले जहिना नहि कएल जाए सकैत अछि.",
+  "menu_action_save_to_pocket": "Pocket मे सहेजू",
+  "menu_action_delete_pocket": "पॉकेट सँ हटाबू",
+  "menu_action_archive_pocket": "पॉकेट मे आर्काइव",
+  "menu_action_show_file_mac_os": "फाइंडरमे देखाउ",
+  "menu_action_show_file_windows": "संग्राहक फोल्डर खोलू",
+  "menu_action_show_file_linux": "संग्राहक फोल्डर खोलू",
+  "menu_action_show_file_default": "फाइल देखाबू",
+  "menu_action_open_file": "फाइल खोलू",
+  "menu_action_copy_download_link": "डाउनलोड लिंक कॉपी करू ",
+  "menu_action_go_to_download_page": "डाउनलोड पृष्ठ पर जाउ",
+  "menu_action_remove_download": "इतिहास सँ हटाउ",
+  "search_button": "खोज",
+  "search_header": "{search_engine_name} खोजू",
+  "search_web_placeholder": "वेब पर खोजू",
+  "section_disclaimer_topstories": "वेब पर सबसँ दिलचस्प स्टोरी, अहाँक पढब आधार पर चुनल. पॉकेट द्वारा, जे आब Mozilla क भाग अछि.",
+  "section_disclaimer_topstories_linktext": "जानू जे ई कओन तरहें काज करैत अछि.",
+  "section_disclaimer_topstories_buttontext": "ठीक अछि, बुझि गेलहुँ.",
+  "prefs_home_header": "Firefox होम सामग्री",
+  "prefs_home_description": "चुनू, Firefox होम स्क्रीन पर जे सामग्री चाहैत छी.",
+  "prefs_section_rows_option": "{num} पंक्ति;{num} पंक्ति सभ",
+  "prefs_search_header": "वेब खोज",
+  "prefs_topsites_description": "जे साइट अहाँ सबसँ बेसी विजिट कएलहुँ",
+  "prefs_topstories_description2": "वेब सँ बढियाँ कंटेंट पाबू, अहाँ खातिर पर्सनलाइज कएल गेल ",
+  "prefs_topstories_options_sponsored_label": "स्पोंसर कएल स्टोरी",
+  "prefs_topstories_sponsored_learn_more": "आओर जानू",
+  "prefs_highlights_description": "जे साइट अहाँ विजिट कएलहुँ अथवा सहेजलहुँ ओकर चयन",
+  "prefs_highlights_options_visited_label": "विजिट कएल पेज",
+  "prefs_highlights_options_download_label": "हालुक डाउनलोड",
+  "prefs_highlights_options_pocket_label": "पॉकेट मे सहेजल पेज",
+  "prefs_snippets_description": "Mozilla आओर Firefox सँ अद्यतन",
+  "settings_pane_button_label": "अपन नव टैब पृष्ठ पसंदीदा बनाउ",
+  "settings_pane_topsites_header": "टॉप साइट",
+  "settings_pane_highlights_header": "हाइलाइट",
+  "settings_pane_highlights_options_bookmarks": "पुस्तकचिह्न",
+  "settings_pane_snippets_header": "अंश",
+  "edit_topsites_button_text": "संपादन",
+  "edit_topsites_edit_button": "ई साइट केँ संपादित करू",
+  "topsites_form_add_header": "नव टॉप साइट",
+  "topsites_form_edit_header": "टॉप साइट संपादित करू",
+  "topsites_form_title_label": "शीर्षक",
+  "topsites_form_title_placeholder": "शीर्षक दर्ज करू",
+  "topsites_form_url_label": "URL",
+  "topsites_form_image_url_label": "कस्टम छवि URL",
+  "topsites_form_url_placeholder": "एकटा URL टाइप अथवा साटू",
+  "topsites_form_use_image_link": "एकटा कस्टम छवि उपयोग करू...",
+  "topsites_form_preview_button": "पूर्वावलोकन",
+  "topsites_form_add_button": "जोड़ू",
+  "topsites_form_save_button": "सहेजू",
+  "topsites_form_cancel_button": "कैंसिल करू",
+  "topsites_form_url_validation": "मान्य URL जरूरी",
+  "topsites_form_image_validation": "छवि लोड करए मे असफल. दोसर URL सँ कोसिस करू.",
+  "pocket_read_more": "लोकप्रिय विषय:",
+  "pocket_read_even_more": "बेसी स्टोरी देखाबू",
+  "highlights_empty_state": "ब्राउजिंग आरंभ करू, आओर हम अहाँक किछु बढियाँ नवीन आर्टिकिल, वीडियो, आओर आन पेज देखाएब, जकरा अङाँ हाले में विजिट कएलहुँ अथवा एतय बुकमार्क कएलहुँ.",
+  "topstories_empty_state": "अहाँ आखिर धरि पहुँचि गेलहु, {provider} सँ बाद में फिनु टॉप स्टोरी देखू. इंतजार नहि कए सकब? अधिक बढिया स्टोरी वेब सँ पाबै लेल एकटा लेकप्रिय टॉपिक चुनू.",
+  "manual_migration_explanation2": "बुकमार्क, इतिहास आओर पासवर्ड सँग Firefox केँ आन ब्राउजर सँग आजमाबू. ",
+  "manual_migration_cancel_button": "नहि धन्यवाद",
+  "manual_migration_import_button": "आब आयात करू",
+  "error_fallback_default_info": "ओह, बुझाय अछि जे कंटेंट लोड हए मे किछु गलत भ गेल.",
+  "error_fallback_default_refresh_suggestion": "फेनु प्रयास करए लेल पेज रीफ्रेश करू.",
+  "section_menu_action_remove_section": "खंड हटाबू",
+  "section_menu_action_collapse_section": "खंड संक्षिप्त करू",
+  "section_menu_action_expand_section": "खंड पसारू",
+  "section_menu_action_manage_section": "खंड प्रबंधित करू",
+  "section_menu_action_manage_webext": "Manage Extension",
+  "section_menu_action_add_topsite": "टॉप साइट जोड़ू",
+  "section_menu_action_move_up": "उप्पर जाउ",
+  "section_menu_action_move_down": "नीच्चाँ जाउ",
+  "section_menu_action_privacy_notice": "गोपनीयता सूचना",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
+};
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/prerendered/locales/mai/activity-stream.html
@@ -0,0 +1,38 @@
+<!doctype html>
+<html lang="mai" dir="ltr">
+  <head>
+    <meta charset="utf-8">
+    <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
+    <title>नव टैब</title>
+    <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
+    <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
+    <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
+  </head>
+  <body class="activity-stream">
+    <div id="root"></div>
+    <div id="snippets-container">
+      <div id="snippets"></div>
+    </div>
+    <script>
+// Don't directly load the following scripts as part of html to let the page
+// finish loading to render the content sooner.
+for (const src of [
+  "chrome://browser/content/contentSearchUI.js",
+  "resource://activity-stream/vendor/react.js",
+  "resource://activity-stream/vendor/react-dom.js",
+  "resource://activity-stream/vendor/prop-types.js",
+  "resource://activity-stream/vendor/react-intl.js",
+  "resource://activity-stream/vendor/redux.js",
+  "resource://activity-stream/vendor/react-redux.js",
+  "resource://activity-stream/prerendered/mai/activity-stream-strings.js",
+  "resource://activity-stream/data/content/activity-stream.bundle.js"
+]) {
+  // These dynamically inserted scripts by default are async, but we need them
+  // to load in the desired order (i.e., bundle last).
+  const script = document.body.appendChild(document.createElement("script"));
+  script.async = false;
+  script.src = src;
+}
+    </script>
+  </body>
+</html>
--- a/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ново јазиче</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пребарајте на Интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пребарајте на Интернет" title="Пребарајте на Интернет"/><button id="searchSubmit" class="search-button" title="Барај"><span class="sr-only"><span>Барај</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Популарни мрежни места</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препорачано од Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Интереси</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Прилагодете ја страницата на вашето Ново јазиче"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пребарајте на Интернет</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пребарајте на Интернет" title="Пребарајте на Интернет"/><button id="searchSubmit" class="search-button" title="Барај"><span class="sr-only"><span>Барај</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Популарни мрежни места</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди го ова место"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Препорачано од Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарни теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Интереси</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Прилагодете ја страницата на вашето Ново јазиче"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Не, благодарам",
   "manual_migration_import_button": "Увези сега",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Се вчитува…",
   "header_stories": "Популарни написи",
   "header_visit_again": "Посети повторно",
   "header_bookmarks": "Скорешни обележувачи",
   "header_bookmarks_placeholder": "Сѐ уште немате обележувачи.",
   "header_stories_from": "од",
   "type_label_synced": "Синхронизирани од други уреди",
   "type_label_open": "Отворени",
--- a/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/mk/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>പുതിയ ടാബ്</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ഇൻറർനെറ്റിൽ തിരയുക</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ഇൻറർനെറ്റിൽ തിരയുക" title="ഇൻറർനെറ്റിൽ തിരയുക"/><button id="searchSubmit" class="search-button" title="തിരയുക"><span class="sr-only"><span>തിരയുക</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>മികച്ച സൈറ്റുകൾ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ശുപാർശ ചെയ്തത്</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ജനപ്രിയ വിഷയങ്ങൾ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ഹൈലൈറ്റുകൾ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="നിങ്ങളുടെ പുതിയ ടാബ് താള് ഇഷ്ടാനുസൃതമാക്കുക"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ഇൻറർനെറ്റിൽ തിരയുക</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ഇൻറർനെറ്റിൽ തിരയുക" title="ഇൻറർനെറ്റിൽ തിരയുക"/><button id="searchSubmit" class="search-button" title="തിരയുക"><span class="sr-only"><span>തിരയുക</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>മികച്ച സൈറ്റുകൾ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ഈ സൈറ്റ് തിരുത്തുക"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ശുപാർശ ചെയ്തത്</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ജനപ്രിയ വിഷയങ്ങൾ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ഹൈലൈറ്റുകൾ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="നിങ്ങളുടെ പുതിയ ടാബ് താള് ഇഷ്ടാനുസൃതമാക്കുക"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "വേണ്ട, നന്ദി",
   "manual_migration_import_button": "ഇപ്പോൾ ഇറക്കുമതി ചെയ്യുക",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "ലോഡ്ചെയ്യുന്നു…",
   "header_stories": "മികച്ച ലേഖനങ്ങൾ",
   "header_visit_again": "വീണ്ടും സന്ദർശിക്കുക",
   "header_bookmarks": "അടുത്തിടെയുള്ള ബുക്ക്മാർക്കുകൾ",
   "header_bookmarks_placeholder": "നിങ്ങൾക്ക് ഇതുവരെ ബുക്ക്മാർക്കുകൾ ഇല്ല.",
   "header_stories_from": "എവിടെ നിന്നും",
   "type_label_synced": "മറ്റു ഉപകരണങ്ങളുമായി സാമ്യപ്പെടുക",
   "type_label_open": "തുറക്കുക",
--- a/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ml/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>नवीन टॅब</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबवर शोधा</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबवर शोधा" title="वेबवर शोधा"/><button id="searchSubmit" class="search-button" title="शोधा"><span class="sr-only"><span>शोधा</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>खास साईट्स</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ठळक</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="आपले नवीन टॅब पृष्ठ सानुकूलित करा"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबवर शोधा</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबवर शोधा" title="वेबवर शोधा"/><button id="searchSubmit" class="search-button" title="शोधा"><span class="sr-only"><span>शोधा</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>खास साईट्स</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ठळक</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="आपले नवीन टॅब पृष्ठ सानुकूलित करा"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "No Thanks",
   "manual_migration_import_button": "Import Now",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "दाखल करीत आहे…",
   "header_stories": "महत्वाच्या गोष्टी",
   "header_stories_from": "कडून",
   "type_label_synced": "इतर साधनावरुन ताळमेळ केले",
   "type_label_open": "उघडा",
   "type_label_topic": "विषय",
   "menu_action_copy_address": "पत्त्याची प्रत बनवा",
   "menu_action_email_link": "दुवा इमेल करा…",
--- a/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/mr/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab Baru</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari dalam Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari dalam Web" title="Cari dalam Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Laman Teratas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disyorkan oleh Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Serlahan</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Sesuaikan halaman Tab Baru anda"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Cari dalam Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Cari dalam Web" title="Cari dalam Web"/><button id="searchSubmit" class="search-button" title="Cari"><span class="sr-only"><span>Cari</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Laman Teratas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit laman ini"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Disyorkan oleh Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Topik Popular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Serlahan</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buka bahagian menu konteks</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Sesuaikan halaman Tab Baru anda"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Tidak, Terima kasih",
   "manual_migration_import_button": "Import Sekarang",
   "error_fallback_default_info": "Ooops, ada kesilapan memuatkan kandungan ini.",
   "error_fallback_default_refresh_suggestion": "Muat semula halaman untuk cuba lagi.",
   "section_menu_action_remove_section": "Buang Seksyen",
   "section_menu_action_collapse_section": "Runtuhkan Seksyen",
   "section_menu_action_expand_section": "Kembangkan Seksyen",
   "section_menu_action_manage_section": "Urus Seksyen",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Tambah Laman Teratas",
   "section_menu_action_move_up": "Pindah Atas",
   "section_menu_action_move_down": "Pindah Bawah",
   "section_menu_action_privacy_notice": "Notis Privasi",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Pulih Piawai",
   "settings_pane_header": "Keutamaan Tab Baru",
   "settings_pane_body2": "Pilih apa yang mahu anda paparkan dalam halaman ini.",
   "settings_pane_search_header": "Cari",
   "settings_pane_search_body": "Carian Web dari tab baru anda.",
   "settings_pane_topsites_body": "Akses laman web yang paling banyak dilawati.",
   "settings_pane_topsites_options_showmore": "Papar dua baris",
   "settings_pane_highlights_body2": "Dapatkan semula perkara menarik yang sudah dilayari atau ditandabuku.",
--- a/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ms/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>တပ်ဗ်အသစ်ဖွင့်</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း" title="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း"/><button id="searchSubmit" class="search-button" title="ရှာ"><span class="sr-only"><span>ရှာ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>အများဆုံးသုံးဆိုက်များ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket က အကြံပြုထားသည်</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>လူကြိုက်များခေါင်းစဉ်များ</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ဦးစားပေးအကြောင်းအရာများ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="သင့်တပ်ဗ်အသစ်စာမျက်နှာအား ပြင်ဆင်မည်"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း" title="ဝတ်ဘ်ပေါ်တွင် ရှာဖွေခြင်း"/><button id="searchSubmit" class="search-button" title="ရှာ"><span class="sr-only"><span>ရှာ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>အများဆုံးသုံးဆိုက်များ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ဆိုက်အားပြင်မည်"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket က အကြံပြုထားသည်</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>လူကြိုက်များခေါင်းစဉ်များ</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ဦးစားပေးအကြောင်းအရာများ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="သင့်တပ်ဗ်အသစ်စာမျက်နှာအား ပြင်ဆင်မည်"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/my/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "မလိုတော့ပါ၊ ကျေးဇူးတင်ပါသည်။",
   "manual_migration_import_button": "ထည့်သွင်းရန်",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "ရယူနေသှ်…",
   "header_stories": "အကြည့်အများဆုံးသတင်းများ",
   "header_visit_again": "ထပ်မံလည်ပတ်ရန်",
   "header_bookmarks": "လတ်တလော စာမှတ်များ",
   "header_bookmarks_placeholder": "မည်သည့်စာမှတ်မျှ မရှိသေးပါ။",
   "header_stories_from": "မှ",
   "type_label_synced": "အခြားပစ္စည်းတစ်ခုမှရယူထားသှ်",
   "type_label_open": "ဖွင့်ပါ",
--- a/browser/extensions/activity-stream/prerendered/locales/my/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/my/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ny fane</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besøkte nettsider</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åpne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalt av Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åpne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høydepunkter</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åpne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tilpass siden for Ny fane"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besøkte nettsider</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åpne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsiden"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Anbefalt av Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åpne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emner:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høydepunkter</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Åpne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tilpass siden for Ny fane"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nei takk",
   "manual_migration_import_button": "Importer nå",
   "error_fallback_default_info": "Ups, noe gikk galt når innholdet skulle lastes inn.",
   "error_fallback_default_refresh_suggestion": "Oppdater siden for å prøve igjen.",
   "section_menu_action_remove_section": "Fjern seksjon",
   "section_menu_action_collapse_section": "Slå sammen seksjon",
   "section_menu_action_expand_section": "Utvid seksjon",
   "section_menu_action_manage_section": "Håndter seksjon",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Legg til toppsted",
   "section_menu_action_move_up": "Flytt opp",
   "section_menu_action_move_down": "Flytt ned",
   "section_menu_action_privacy_notice": "Personvernbestemmelser",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Gjenopprett standard",
   "settings_pane_header": "Innstillinger for Ny fane",
   "settings_pane_body2": "Velg hva du ser på denne siden.",
   "settings_pane_search_header": "Søk",
   "settings_pane_search_body": "Søk på nettet fra din nye fane.",
   "settings_pane_topsites_body": "Tilgang til nettsidene du besøker mest.",
   "settings_pane_topsites_options_showmore": "Vis to rader",
   "settings_pane_highlights_body2": "Finn veien tilbake til interessante ting du nylig har besøkt eller bokmerket.",
--- a/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nb-NO/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>नयाँ ट्याब</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबमा खोज्नुहोस्</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबमा खोज्नुहोस्" title="वेबमा खोज्नुहोस्"/><button id="searchSubmit" class="search-button" title="खोजी गर्नुहोस्"><span class="sr-only"><span>खोजी गर्नुहोस्</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>शीर्ष साइटहरु</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा सिफारिस गरिएको</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय शीर्षकहरू:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>विशेषताहरू</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="तपाईंको नयाँ ट्याब पृष्ठ अनुकूलन गर्नुहोस्"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>वेबमा खोज्नुहोस्</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="वेबमा खोज्नुहोस्" title="वेबमा खोज्नुहोस्"/><button id="searchSubmit" class="search-button" title="खोजी गर्नुहोस्"><span class="sr-only"><span>खोजी गर्नुहोस्</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>शीर्ष साइटहरु</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>खण्ड सन्दर्भ मेनु खोल्नुहोस्</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="यस साइटलाई सम्पादन गर्नुहोस्"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket द्वारा सिफारिस गरिएको</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>खण्ड सन्दर्भ मेनु खोल्नुहोस्</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>लोकप्रिय शीर्षकहरू:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>विशेषताहरू</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>खण्ड सन्दर्भ मेनु खोल्नुहोस्</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="तपाईंको नयाँ ट्याब पृष्ठ अनुकूलन गर्नुहोस्"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream-strings.js
@@ -1,137 +1,104 @@
 // Note - this is a generated ne-NP file.
 window.gActivityStreamStrings = {
   "newtab_page_title": "नयाँ ट्याब",
   "header_top_sites": "शीर्ष साइटहरु",
   "header_highlights": "विशेषताहरू",
   "header_recommended_by": "{provider} द्वारा सिफारिस गरिएको",
-  "context_menu_button_sr": "Open context menu for {title}",
-  "section_context_menu_button_sr": "Open the section context menu",
+  "context_menu_button_sr": "{title} को लागि सन्दर्भ मेनु खोल्नुहोस्",
+  "section_context_menu_button_sr": "खण्ड सन्दर्भ मेनु खोल्नुहोस्",
   "type_label_visited": "भ्रमण गरिएको",
   "type_label_bookmarked": "पुस्तकचिनो लागाइएको",
   "type_label_recommended": "प्रचलनमा",
-  "type_label_pocket": "Saved to Pocket",
-  "type_label_downloaded": "Downloaded",
+  "type_label_pocket": "Pocket मा सङ्ग्रह गरियो",
+  "type_label_downloaded": "डाउनलोड भयो",
   "menu_action_bookmark": "पुस्तकचिनो",
   "menu_action_remove_bookmark": "पुस्तकचिनो हटाउनुहोस्",
   "menu_action_open_new_window": "नयाँ सञ्झ्यालमा खोल्नुहोस्",
   "menu_action_open_private_window": "नयाँ निजी सञ्झ्यालमा खोल्नुहोस्",
   "menu_action_dismiss": "खारेज गर्नुहोस्",
   "menu_action_delete": "इतिहासबाट मेट्नुहोस्",
   "menu_action_pin": "पिन गर्नुहोस्",
   "menu_action_unpin": "अन पिन गर्नुहोस्",
   "confirm_history_delete_p1": "के तपाईं पक्का हुनुहुन्छ कि तपाइँ यस पृष्ठको हरेक उदाहरण तपाइँको इतिहासबाट हटाउन चाहनुहुन्छ ?",
   "confirm_history_delete_notice_p2": "यो कार्य पूर्ववत गर्न सकिँदैन ।",
   "menu_action_save_to_pocket": "Pocketमा बचत गर्नुहोस्",
-  "menu_action_delete_pocket": "Delete from Pocket",
-  "menu_action_archive_pocket": "Archive in Pocket",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_delete_pocket": "Pocket बाट मेट्नुहोस्",
+  "menu_action_archive_pocket": "Pocket मा संग्रह गर्नुहोस्",
+  "menu_action_show_file_mac_os": "Finder मा देखाउनुहोस्",
+  "menu_action_show_file_windows": "समाविष्ट भएको फोल्डर खोल्नुहोस्",
+  "menu_action_show_file_linux": "समाविष्ट भएको फोल्डर खोल्नुहोस्",
+  "menu_action_show_file_default": "फाइल देखाउनुहोस्",
+  "menu_action_open_file": "फाइल खोल्नुहोस्",
+  "menu_action_copy_download_link": "डाउनलोड लिङ्क प्रतिलिपि गर्नुहोस्",
+  "menu_action_go_to_download_page": "डाउनलोड पेजमा जानुहोस्",
+  "menu_action_remove_download": "इतिहासबाट हटाउनुहोस्",
   "search_button": "खोजी गर्नुहोस्",
   "search_header": "{search_engine_name} खोजी",
   "search_web_placeholder": "वेबमा खोज्नुहोस्",
   "section_disclaimer_topstories": "वेबमा सबैभन्दा रोचक कथाहरू, तपाईंले पढ्नु भएको आधारमा Pocket बाट चयन गर्नुभएको छ।",
   "section_disclaimer_topstories_linktext": "कसरी काम गर्छ हेर्नुहोस्।",
   "section_disclaimer_topstories_buttontext": "बुझेँ",
-  "prefs_home_header": "Firefox Home Content",
-  "prefs_home_description": "Choose what content you want on your Firefox Home screen.",
-  "prefs_section_rows_option": "{num} row;{num} rows",
-  "prefs_search_header": "Web Search",
-  "prefs_topsites_description": "The sites you visit most",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
-  "prefs_topstories_sponsored_learn_more": "Learn more",
-  "prefs_highlights_description": "A selection of sites that you’ve saved or visited",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
-  "prefs_snippets_description": "Updates from Mozilla and Firefox",
+  "prefs_home_header": "Firefox गृह सामग्री",
+  "prefs_home_description": "तपाईंको Firefox गृह पृष्ठमा तपाईँ कुन सामग्री राख्न चाहनुहुन्छ छान्नुहोस् ।",
+  "prefs_section_rows_option": "{num} पक्ति;{num} पक्ति",
+  "prefs_search_header": "वेब खोजि",
+  "prefs_topsites_description": "तपाईंले धेरै भ्रमण गर्नुभएका साइटहरू",
+  "prefs_topstories_description2": "वेब वरिपरिका राम्रा सामग्रीहरु, तपाईंको लागि निजीकृत गरिएको",
+  "prefs_topstories_options_sponsored_label": "प्रायोजित गरिएको कथाहरू",
+  "prefs_topstories_sponsored_learn_more": "अझ जान्नुहोस्",
+  "prefs_highlights_description": "तपाईंले सुरक्षित गर्नुभएको वा भ्रमण गर्नुभएको साइटहरू",
+  "prefs_highlights_options_visited_label": "भ्रमण गरिएका पृष्ठहरू",
+  "prefs_highlights_options_download_label": "सबैभन्दा नयाँ डाउनलोड",
+  "prefs_highlights_options_pocket_label": "Pocket मा सङ्ग्रह गरिएका पृष्ठहरू",
+  "prefs_snippets_description": "Mozilla र Firefox का अद्यावधिकहरू",
   "settings_pane_button_label": "तपाईंको नयाँ ट्याब पृष्ठ अनुकूलन गर्नुहोस्",
   "settings_pane_topsites_header": "शीर्ष साइटहरू",
   "settings_pane_highlights_header": "विशेषताहरू",
   "settings_pane_highlights_options_bookmarks": "पुस्तकचिनोहरू",
   "settings_pane_snippets_header": "स्निप्पेटस्",
   "edit_topsites_button_text": "सम्पादन गर्नुहोस्",
   "edit_topsites_edit_button": "यस साइटलाई सम्पादन गर्नुहोस्",
   "topsites_form_add_header": "नयाँ शीर्ष साइट",
   "topsites_form_edit_header": "शीर्ष साइट सम्पादन गर्नुहोस्",
-  "topsites_form_title_label": "Title",
+  "topsites_form_title_label": "शीर्षक",
   "topsites_form_title_placeholder": "शीर्षक प्रविष्ट गर्नुहोस्",
   "topsites_form_url_label": "URL",
-  "topsites_form_image_url_label": "Custom Image URL",
+  "topsites_form_image_url_label": "अनुकूल तस्बिर URL",
   "topsites_form_url_placeholder": "URL लेख्नुहोस् ",
-  "topsites_form_use_image_link": "Use a custom image…",
-  "topsites_form_preview_button": "Preview",
+  "topsites_form_use_image_link": "अनुकूल तस्बिर प्रयोग गर्नुहोस्…",
+  "topsites_form_preview_button": "पूर्ववलोकन",
   "topsites_form_add_button": "थप्नुहोस्",
   "topsites_form_save_button": "सङ्ग्रह गर्नुहोस्",
   "topsites_form_cancel_button": "रद्द गर्नुहोस्",
   "topsites_form_url_validation": "मान्य URL चाहिन्छ",
-  "topsites_form_image_validation": "Image failed to load. Try a different URL.",
+  "topsites_form_image_validation": "तस्बिर लोड गर्न असफल भयो । फरक URL प्रयास गर्नुहोस् ।",
   "pocket_read_more": "लोकप्रिय शीर्षकहरू:",
   "pocket_read_even_more": "अरू कथा देखाउनुहोस्",
-  "highlights_empty_state": "Start browsing, and we’ll show some of the great articles, videos, and other pages you’ve recently visited or bookmarked here.",
-  "topstories_empty_state": "You’ve caught up. Check back later for more top stories from {provider}. Can’t wait? Select a popular topic to find more great stories from around the web.",
-  "manual_migration_explanation2": "Try Firefox with the bookmarks, history and passwords from another browser.",
+  "highlights_empty_state": "ब्राउज गर्न सुरू गर्नुहोस्, र हामी केहि उत्कृष्ट लेखहरू, भिडियोहरू, र अन्य पृष्ठहरू जुन तपाईंले भर्खरै भ्रमण गर्नुभएको वा पुस्तकचिनो राख्नुभएको छ यहाँ देखाउँछौ ।",
+  "topstories_empty_state": "अहिले यति नै । {provider} बाट थप शीर्ष कथाहरूको हेर्नका लागि पछि फेरि जाँच गर्नुहोस् । अाफुलाई रोक्न सक्नुहुदैन ? वेबभरिका राम्रा कथाहरु भेटाउन कुनै एउटा लोकप्रिय विषय छान्नुहोस् । ",
+  "manual_migration_explanation2": "अन्य ब्राउजरका पुस्तकचिनोहरु, इतिहास र गोप्यशब्दहरु सहित Firefox प्रयोग गर्नुहोस् ।",
   "manual_migration_cancel_button": "पर्दैन, धन्यबाद",
   "manual_migration_import_button": "अहिले आयात गर्नुहोस्",
-  "error_fallback_default_info": "Oops, something went wrong loading this content.",
-  "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
-  "section_menu_action_remove_section": "Remove Section",
-  "section_menu_action_collapse_section": "Collapse Section",
-  "section_menu_action_expand_section": "Expand Section",
-  "section_menu_action_manage_section": "Manage Section",
-  "section_menu_action_add_topsite": "Add Top Site",
-  "section_menu_action_move_up": "Move Up",
-  "section_menu_action_move_down": "Move Down",
-  "section_menu_action_privacy_notice": "Privacy Notice",
-  "default_label_loading": "लोड हुदैँछ...",
-  "header_stories": "शीर्ष साइटहरु",
-  "header_visit_again": "फेरि भ्रमण गर्नुहोस्",
-  "header_bookmarks": "भर्खरैका पुस्तकचिनोहरु",
-  "header_bookmarks_placeholder": "तपाइँसँग अहिले सम्म कुनै पुस्तकचिनोहरु छैन ।",
-  "header_stories_from": "बाट",
-  "type_label_synced": "अर्को यण्त्रबाट समक्रमण गरिएको",
-  "type_label_open": "खोल्नुहोस्",
-  "type_label_topic": "शीर्षक",
-  "type_label_now": "अहिले",
-  "menu_action_copy_address": "ठेगाना प्रतिलिपि गर्नुहोस्",
-  "menu_action_email_link": "लिङ्कलाई इमेल गर्नुहोस्...",
-  "search_for_something_with": "{search_term} खोज्न प्रयोग गर्नुहोस्:",
-  "search_settings": "खोजी सेटिङ परिवर्तन गर्नुहोस्",
-  "section_info_option": "जानकारी",
-  "section_info_send_feedback": "प्रतिक्रिया पठाउनुहोस्",
-  "section_info_privacy_notice": "गोपनीयता नीति",
-  "welcome_title": "नयाँ ट्याबमा स्वागत छ",
-  "welcome_body": "Firefoxले यस ठाउँको प्रयोग तपाईंको सबैभन्दा सान्दर्भिक पुस्तकचिनो, लेखहरू, भिडियोहरू, र तपाईंले हालै भ्रमण गर्नु भएको पृष्ठहरूलाई राख्न प्रयोग गर्दछ, जसले गर्दा तपाइँ तिनीहरूलाई सजिलै भेटाउन सक्नुहुनेछ ।",
-  "welcome_label": "तपाईँका विशेषताहरु पत्ता लगाउँदै",
-  "time_label_less_than_minute": "< १ मिनेट",
-  "time_label_minute": "{number} मिनेट",
-  "time_label_hour": "{number} घण्टा",
-  "time_label_day": "{number} दिन",
-  "settings_pane_header": "नयाँ ट्याब प्राथमिकताहरू",
-  "settings_pane_body2": "तपाईँले यो पृष्ठमा के देख्नुभयो छनौट गर्नुहोस् ।",
-  "settings_pane_search_header": "खोजी गर्नुहोस्",
-  "settings_pane_search_body": "तपाईंको नयाँ ट्याबबाट वेबमा खोज्नुहोस् ।",
-  "settings_pane_topsites_body": "तपाईले धेरै भ्रमण गर्नुभएका वेबसाइटहरूमा पहुँच गर्नुहोस् ।",
-  "settings_pane_topsites_options_showmore": "दुई पङ्क्तिहरू देखाउनुहोस्",
-  "settings_pane_bookmarks_header": "भर्खरैका पुस्तकचिनोहरु",
-  "settings_pane_bookmarks_body": "तपाईंको नयाँ सिर्जना गरिएको पुस्तकचिनोहरुहरू एउटा सजिलो स्थानमा ।",
-  "settings_pane_visit_again_header": "फेरि भ्रमण गर्नुहोस्",
-  "settings_pane_highlights_options_visited": "भ्रमण गरिएका साईटहरु",
-  "settings_pane_done_button": "सम्पन्न भयो",
-  "settings_pane_topstories_options_sponsored": "प्रायोजित गरिएको कथाहरू देखाउनुहोस्",
-  "edit_topsites_button_label": "तपाईंको शीर्ष साइट खण्ड अनुकूलन गर्नुहोस्",
-  "edit_topsites_showmore_button": "थप देखाउनुहोस्",
-  "edit_topsites_showless_button": "थोरै देखाउनुहोस्",
-  "edit_topsites_done_button": "सम्पन्न भयो",
-  "edit_topsites_pin_button": "यस साइटलाई पिन गर्नुहोस्",
-  "edit_topsites_unpin_button": "यस साइटलाई अनपिन गर्नुहोस्",
-  "edit_topsites_dismiss_button": "यस साइटलाई खारेज गर्नुहोस्",
-  "edit_topsites_add_button": "थप्नुहोस्",
-  "pocket_feedback_header": "वेबको सर्वोत्तम, 25 मिलियन भन्दा बढी व्यक्तिहरू द्वारा लिपिबद्ध।"
+  "error_fallback_default_info": "उफ्, सामाग्री लोड गर्न खोजदा केहि गलत भयो ।",
+  "error_fallback_default_refresh_suggestion": "पुनः प्रयास गर्न पृष्ठ ताजा गर्नुहोस् ।",
+  "section_menu_action_remove_section": "खण्ड हटाउनुहोस्",
+  "section_menu_action_collapse_section": "खण्ड संक्षिप्त गर्नुहोस्",
+  "section_menu_action_expand_section": "खण्ड विस्तार गर्नुहोस्",
+  "section_menu_action_manage_section": "खण्ड प्रबन्ध गर्नुहोस्",
+  "section_menu_action_manage_webext": "Manage Extension",
+  "section_menu_action_add_topsite": "शीर्ष साइट थप्नुहोस्",
+  "section_menu_action_move_up": "माथि सार्नुहोस्",
+  "section_menu_action_move_down": "तल सार्नुहोस्",
+  "section_menu_action_privacy_notice": "गोपनीयता नीति",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ne-NP/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nieuw tabblad</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Zoeken op het web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Zoeken op het web" title="Zoeken op het web"/><button id="searchSubmit" class="search-button" title="Zoeken"><span class="sr-only"><span>Zoeken</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Topwebsites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Aanbevolen door Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaire onderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Uw Nieuw-tabbladpagina aanpassen"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Zoeken op het web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Zoeken op het web" title="Zoeken op het web"/><button id="searchSubmit" class="search-button" title="Zoeken"><span class="sr-only"><span>Zoeken</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Topwebsites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Deze website bewerken"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Aanbevolen door Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populaire onderwerpen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Contextmenu van sectie openen</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Uw Nieuw-tabbladpagina aanpassen"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nee bedankt",
   "manual_migration_import_button": "Nu importeren",
   "error_fallback_default_info": "Oeps, er is iets misgegaan bij het laden van deze inhoud.",
   "error_fallback_default_refresh_suggestion": "Vernieuw de pagina om het opnieuw te proberen.",
   "section_menu_action_remove_section": "Sectie verwijderen",
   "section_menu_action_collapse_section": "Sectie samenvouwen",
   "section_menu_action_expand_section": "Sectie uitvouwen",
   "section_menu_action_manage_section": "Sectie beheren",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Topwebsite toevoegen",
   "section_menu_action_move_up": "Omhoog verplaatsen",
   "section_menu_action_move_down": "Omlaag verplaatsen",
   "section_menu_action_privacy_notice": "Privacyverklaring",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Standaardwaarden herstellen",
   "settings_pane_header": "Nieuw-tabbladvoorkeuren",
   "settings_pane_body2": "Kies wat u op deze pagina ziet.",
   "settings_pane_search_header": "Zoeken",
   "settings_pane_search_body": "Het web doorzoeken vanaf uw nieuwe tabblad.",
   "settings_pane_topsites_body": "De websites benaderen die u het vaakst bezoekt.",
   "settings_pane_topsites_options_showmore": "Twee rijen tonen",
   "settings_pane_highlights_body2": "Vind uw weg terug naar interessante dingen die u onlangs hebt bezocht of waarvoor u een bladwijzer hebt gemaakt.",
--- a/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nl/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ny fane</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besøkte nettsider</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Opne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Tilrådd av Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Opne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emne:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høgdepunkt</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Opne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tilpass sida for Ny fane"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Søk på nettet</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Søk på nettet" title="Søk på nettet"/><button id="searchSubmit" class="search-button" title="Søk"><span class="sr-only"><span>Søk</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besøkte nettsider</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Opne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Rediger denne nettsida"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Tilrådd av Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Opne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populære emne:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Høgdepunkt</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Opne seksjonens kontekstmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tilpass sida for Ny fane"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nei takk",
   "manual_migration_import_button": "Importer no",
   "error_fallback_default_info": "Ops, noko gjekk gale då innhaldet skulle lastast inn.",
   "error_fallback_default_refresh_suggestion": "Oppdater sida for å prøve på nytt.",
   "section_menu_action_remove_section": "Fjern seksjon",
   "section_menu_action_collapse_section": "Slå saman seksjon",
   "section_menu_action_expand_section": "Utvid seksjon",
   "section_menu_action_manage_section": "Handter seksjon",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Legg til mest besøkte",
   "section_menu_action_move_up": "Flytt opp",
   "section_menu_action_move_down": "Flytt ned",
   "section_menu_action_privacy_notice": "Personvernmerknad",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Gjenopprett standard",
   "settings_pane_header": "Innstillingar for Ny fane",
   "settings_pane_body2": "Vel kva du vil sjå på denne sida.",
   "settings_pane_search_header": "Søk",
   "settings_pane_search_body": "Søk på nettet frå den nye fana di.",
   "settings_pane_topsites_body": "Tilgang til nettsidene du besøker mest.",
   "settings_pane_topsites_options_showmore": "Vis to rader",
   "settings_pane_highlights_body2": "Finn vegen tilbake til interessante ting du nyleg har besøkt eller bokmerka.",
--- a/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/nn-NO/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>ਨਵੀਂ ਟੈਬ</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ਵੈੱਬ ਨੂੰ ਖੋਜੋ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ਵੈੱਬ ਨੂੰ ਖੋਜੋ" title="ਵੈੱਬ ਨੂੰ ਖੋਜੋ"/><button id="searchSubmit" class="search-button" title="ਖੋਜ"><span class="sr-only"><span>ਖੋਜ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>ਪ੍ਰਸੰਗ ਮੀਨੂੰ ਚੋਣ ਖ੍ਹੋਲੋ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ਵਲੋਂ ਸਿਫਾਰਸ਼ੀ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>ਪ੍ਰਸੰਗ ਮੀਨੂੰ ਚੋਣ ਖ੍ਹੋਲੋ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ਪ੍ਰਸਿੱਧ ਵਿਸ਼ੇ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ਸੁਰਖੀਆਂ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>ਪ੍ਰਸੰਗ ਮੀਨੂੰ ਚੋਣ ਖ੍ਹੋਲੋ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ਆਪਣੇ ਨਵੀਂ ਟੈਬ ਸਫ਼ੇ ਨੂੰ ਆਪਣੇ ਮੁਤਾਬਕ ਢਾਲੋ"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ਵੈੱਬ ਨੂੰ ਖੋਜੋ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ਵੈੱਬ ਨੂੰ ਖੋਜੋ" title="ਵੈੱਬ ਨੂੰ ਖੋਜੋ"/><button id="searchSubmit" class="search-button" title="ਖੋਜ"><span class="sr-only"><span>ਖੋਜ</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ਸਿਖਰਲੀਆਂ ਸਾਈਟਾਂ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>ਪ੍ਰਸੰਗ ਮੀਨੂੰ ਚੋਣ ਖ੍ਹੋਲੋ</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ਇਹ ਸਾਈਟ ਨੂੰ ਸੋਧੋ"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket ਵਲੋਂ ਸਿਫਾਰਸ਼ੀ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>ਪ੍ਰਸੰਗ ਮੀਨੂੰ ਚੋਣ ਖ੍ਹੋਲੋ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ਪ੍ਰਸਿੱਧ ਵਿਸ਼ੇ:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ਸੁਰਖੀਆਂ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>ਪ੍ਰਸੰਗ ਮੀਨੂੰ ਚੋਣ ਖ੍ਹੋਲੋ</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ਆਪਣੇ ਨਵੀਂ ਟੈਬ ਸਫ਼ੇ ਨੂੰ ਆਪਣੇ ਮੁਤਾਬਕ ਢਾਲੋ"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "ਨਹੀਂ, ਧੰਨਵਾਦ",
   "manual_migration_import_button": "ਹੁਣੇ ਇੰਪੋਰਟ ਕਰੋ",
   "error_fallback_default_info": "ਓਹ ਹੋ, ਇਸ ਸਮੱਗਰੀ ਨੂੰ ਲੋਡ ਕਰਨ ਵਿੱਚ ਕੁਝ ਗਲਤ ਹੋ ਗਿਆ।",
   "error_fallback_default_refresh_suggestion": "ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਲਈ ਪੰਨਾ ਤਾਜ਼ਾ ਕਰੋ।",
   "section_menu_action_remove_section": "ਸੈਕਸ਼ਨ ਹਟਾਓ",
   "section_menu_action_collapse_section": "ਸੈਕਸ਼ਨ ਨੂੰ ਸਮੇਟੋ",
   "section_menu_action_expand_section": "ਸੈਕਸ਼ਨ ਦੀ ਫੈਲਾਓ",
   "section_menu_action_manage_section": "ਸੈਕਸ਼ਨ ਦਾ ਪ੍ਰਬੰਧ ਕਰੋ",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "ਚੋਟੀ ਦੀਆਂ ਸਾਈਟਾਂ ਜੋੜੋ",
   "section_menu_action_move_up": "ਉੱਤੇ ਭੇਜੋ",
   "section_menu_action_move_down": "ਹੇਠਾਂ ਭੇਜੋ",
   "section_menu_action_privacy_notice": "ਨਿੱਜੀ ਨੋਟਿਸ",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "ਡਿਫੌਲਟ 'ਤੇ ਰੀਸਟੋਰ ਕਰੋ",
   "settings_pane_header": "ਨਵੀਂ ਟੈਬ ਲਈ ਪਸੰਦਾਂ",
   "settings_pane_body2": "ਚੁਣੋ ਕਿ ਤੁਸੀਂ ਇਸ ਸਫ਼ੇ ਤੇ ਕੀ ਦੇਖਿਆ।",
   "settings_pane_search_header": "ਖੋਜੋ",
   "settings_pane_search_body": "ਆਪਣੀ ਨਵੀਂ ਟੈਬ ਤੋਂ ਵੈੱਬ ਨੂੰ ਖੋਜੋ।",
   "settings_pane_topsites_body": "ਵੈੱਬਸਾਈਟਾਂ, ਜਿਹਨਾਂ ਨੂੰ ਤੁਸੀਂ ਸਭ ਤੋਂ ਵੱਧ ਖੋਲ੍ਹਿਆ ਹੈ, ਲਈ ਪਹੁੰਚ।",
   "settings_pane_topsites_options_showmore": "ਦੋ ਕਤਾਰਾਂ ਵੇਖਾਓ",
   "settings_pane_highlights_body2": "ਜਿਹੜੀਆਂ ਦਿਲਚਸਪ ਚੀਜ਼ਾਂ ਤੁਸੀਂ ਹਾਲ ਹੀ ਵਿੱਚ ਦੇਖੀਆਂ ਹਨ ਜਾਂ ਬੁੱਕਮਾਰਕ ਕੀਤੀਆਂ ਹਨ, ਬਾਰੇ ਆਪਣਾ ਵਾਪਸੀ ਰਸਤਾ ਲੱਭੋ।",
--- a/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pa-IN/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nowa karta</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Szukaj</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Szukaj" title="Szukaj"/><button id="searchSubmit" class="search-button" title="Szukaj"><span class="sr-only"><span>Szukaj</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Popularne</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Poleca: Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne tematy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wyróżnione</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Dostosuj stronę nowej karty"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Szukaj</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Szukaj" title="Szukaj"/><button id="searchSubmit" class="search-button" title="Szukaj"><span class="sr-only"><span>Szukaj</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Popularne</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edytuj tę stronę"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Poleca: Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popularne tematy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Wyróżnione</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otwórz menu kontekstowe sekcji</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Dostosuj stronę nowej karty"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nie, dziękuję",
   "manual_migration_import_button": "Importuj teraz",
   "error_fallback_default_info": "Coś się nie powiodło podczas wczytywania tej treści.",
   "error_fallback_default_refresh_suggestion": "Odśwież stronę, aby spróbować ponownie.",
   "section_menu_action_remove_section": "Usuń sekcję",
   "section_menu_action_collapse_section": "Zwiń sekcję",
   "section_menu_action_expand_section": "Rozwiń sekcję",
   "section_menu_action_manage_section": "Zarządzaj sekcją",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Dodaj popularną stronę",
   "section_menu_action_move_up": "Przenieś w górę",
   "section_menu_action_move_down": "Przenieś w dół",
   "section_menu_action_privacy_notice": "Prywatność",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Przywróć domyślne",
   "settings_pane_header": "Preferencje nowej karty",
   "settings_pane_body2": "Wybierz, co wyświetlać na tej stronie.",
   "settings_pane_search_header": "Wyszukiwanie",
   "settings_pane_search_body": "Szukaj w Internecie na nowej karcie.",
   "settings_pane_topsites_body": "Otwieraj najczęściej odwiedzane strony.",
   "settings_pane_topsites_options_showmore": "Dwa rzędy",
   "settings_pane_highlights_body2": "Szybko wracaj do niedawno odwiedzonych stron i dodanych zakładek.",
--- a/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pl/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nova aba</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sites preferidos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar sua página de nova aba"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sites preferidos</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da seção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar sua página de nova aba"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Não, obrigado",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Opa, algo deu errado ao carregar esse conteúdo.",
   "error_fallback_default_refresh_suggestion": "Atualize a página para tentar novamente.",
   "section_menu_action_remove_section": "Remover seção",
   "section_menu_action_collapse_section": "Recolher seção",
   "section_menu_action_expand_section": "Expandir seção",
   "section_menu_action_manage_section": "Gerenciar seção",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Adicionar ao sites preferidos",
   "section_menu_action_move_up": "Mover para cima",
   "section_menu_action_move_down": "Mover para baixo",
   "section_menu_action_privacy_notice": "Política de privacidade",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurar padrões",
   "settings_pane_header": "Preferências de novas abas",
   "settings_pane_body2": "Escolha o que verá nessa página.",
   "settings_pane_search_header": "Pesquisar",
   "settings_pane_search_body": "Pesquise na Web a partir da sua nova aba.",
   "settings_pane_topsites_body": "Acesse os sites que você mais visita.",
   "settings_pane_topsites_options_showmore": "Mostrar duas linhas",
   "settings_pane_highlights_body2": "Encontre o caminho de volta para as coisas interessantes que você favoritou ou viu recentemente.",
--- a/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-BR/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Novo separador</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sites mais visitados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar a sua página de novo separador"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Pesquisar na Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Pesquisar na Web" title="Pesquisar na Web"/><button id="searchSubmit" class="search-button" title="Pesquisar"><span class="sr-only"><span>Pesquisar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sites mais visitados</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editar este site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomendado por Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tópicos populares:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Destaques</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Abrir o menu de contexto da secção</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizar a sua página de novo separador"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream-strings.js
@@ -2,17 +2,17 @@
 window.gActivityStreamStrings = {
   "newtab_page_title": "Novo separador",
   "header_top_sites": "Sites mais visitados",
   "header_highlights": "Destaques",
   "header_recommended_by": "Recomendado por {provider}",
   "context_menu_button_sr": "Abrir menu de contexto para {title}",
   "section_context_menu_button_sr": "Abrir o menu de contexto da secção",
   "type_label_visited": "Visitados",
-  "type_label_bookmarked": "Guardados nos marcadores",
+  "type_label_bookmarked": "Adicionados aos marcadores",
   "type_label_recommended": "Tendência",
   "type_label_pocket": "Guardado no Pocket",
   "type_label_downloaded": "Transferido",
   "menu_action_bookmark": "Adicionar aos marcadores",
   "menu_action_remove_bookmark": "Remover marcador",
   "menu_action_open_new_window": "Abrir em nova janela",
   "menu_action_open_private_window": "Abrir em nova janela privada",
   "menu_action_dismiss": "Dispensar",
@@ -80,26 +80,38 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Não, obrigado",
   "manual_migration_import_button": "Importar agora",
   "error_fallback_default_info": "Oops, algo correu mal ao carregar este conteúdo.",
   "error_fallback_default_refresh_suggestion": "Atualize a página para tentar novamente.",
   "section_menu_action_remove_section": "Remover secção",
   "section_menu_action_collapse_section": "Colapsar secção",
   "section_menu_action_expand_section": "Expandir secção",
   "section_menu_action_manage_section": "Gerir secção",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Adicionar site mais visitado",
   "section_menu_action_move_up": "Mover para cima",
   "section_menu_action_move_down": "Mover para baixo",
   "section_menu_action_privacy_notice": "Aviso de privacidade",
-  "prefs_restore_defaults_button": "Restaurar predefinições",
-  "settings_pane_header": "Preferências de novo separador",
-  "settings_pane_body2": "Escolha o que vê nesta página.",
-  "settings_pane_search_header": "Pesquisa",
-  "settings_pane_search_body": "Pesquise na Web a partir do seu novo separador.",
-  "settings_pane_topsites_body": "Aceda aos websites que mais visita.",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
+  "prefs_restore_defaults_button": "Restaurar padrões",
+  "settings_pane_header": "Preferências de novas abas",
+  "settings_pane_body2": "Escolha o que verá nessa página.",
+  "settings_pane_search_header": "Pesquisar",
+  "settings_pane_search_body": "Pesquise na Web a partir da sua nova aba.",
+  "settings_pane_topsites_body": "Acesse os sites que você mais visita.",
   "settings_pane_topsites_options_showmore": "Mostrar duas linhas",
-  "settings_pane_highlights_body2": "Encontre o seu caminho de volta a coisas interessantes que visitou recentemente ou adicionou aos marcadores.",
+  "settings_pane_highlights_body2": "Encontre o caminho de volta para as coisas interessantes que você favoritou ou viu recentemente.",
   "settings_pane_highlights_options_visited": "Sites visitados",
-  "settings_pane_snippets_body": "Leia atualizações curtas da Mozilla acerca do Firefox, cultura da internet, e o ocasional meme aleatório.",
-  "settings_pane_done_button": "Feito",
+  "settings_pane_snippets_body": "Saiba das notícias e novidades da Mozilla sobre o Firefox, Internet e às vezes alguns memes.",
+  "settings_pane_done_button": "Concluído",
   "settings_pane_topstories_options_sponsored": "Mostrar histórias patrocinadas",
-  "pocket_description": "Descubra conteúdo de alta qualidade que podia de outra maneira perder, com a ajuda do Pocket, agora parte da Mozilla."
+  "pocket_description": "Descubra conteúdo de alta qualidade que você poderia ter perdido, com a ajuda do Pocket, agora parte da Mozilla."
 };
--- a/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/pt-PT/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nov tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tschertgar en il Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tschertgar en il Web" title="Tschertgar en il Web"/><button id="searchSubmit" class="search-button" title="Tschertgar"><span class="sr-only"><span>Tschertgar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Paginas preferidas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recumandà da Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Accents</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Persunalisar tia pagina per novs tabs"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tschertgar en il Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tschertgar en il Web" title="Tschertgar en il Web"/><button id="searchSubmit" class="search-button" title="Tschertgar"><span class="sr-only"><span>Tschertgar</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Paginas preferidas</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Modifitgar questa pagina"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recumandà da Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Temas populars:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Accents</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Persunalisar tia pagina per novs tabs"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Na, grazia",
   "manual_migration_import_button": "Importar ussa",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Chargiar…",
   "header_stories": "Artitgels populars",
   "header_visit_again": "Turnar a visitar",
   "header_bookmarks": "Segnapaginas novs",
   "header_bookmarks_placeholder": "Ti n'has anc nagins segnapaginas.",
   "header_stories_from": "da",
   "type_label_synced": "Sincronisà dad auters apparats",
   "type_label_open": "Avert",
--- a/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/rm/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Filă nouă</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Caută pe web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Caută pe web" title="Caută pe web"/><button id="searchSubmit" class="search-button" title="Caută"><span class="sr-only"><span>Caută</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Site-uri de top</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomandat de Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subiecte populare:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Evidențieri</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Particularizează pagina de filă nouă"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Caută pe web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Caută pe web" title="Caută pe web"/><button id="searchSubmit" class="search-button" title="Caută"><span class="sr-only"><span>Caută</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Site-uri de top</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Editează acest site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recomandat de Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Subiecte populare:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Evidențieri</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Deschide meniul contextual al secțiunii</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Particularizează pagina de filă nouă"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nu, mulțumesc",
   "manual_migration_import_button": "Importă acum",
   "error_fallback_default_info": "Ups, ceva a mers prost la încărcarea acestui conținut.",
   "error_fallback_default_refresh_suggestion": "Reîmprospătează pagina pentru a încerca din nou.",
   "section_menu_action_remove_section": "Elimină secțiunea",
   "section_menu_action_collapse_section": "Restrânge secțiunea",
   "section_menu_action_expand_section": "Extinde secțiunea",
   "section_menu_action_manage_section": "Gestionează secțiunea",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Adaugă site de top",
   "section_menu_action_move_up": "Mută în sus",
   "section_menu_action_move_down": "Mută în jos",
   "section_menu_action_privacy_notice": "Politica de confidențialitate",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Restaurează valorile implicite",
   "settings_pane_header": "Preferințe pentru filă nouă",
   "settings_pane_body2": "Alege ceea ce vezi pe această pagină.",
   "settings_pane_search_header": "Caută",
   "settings_pane_search_body": "Caută pe web din noua filă.",
   "settings_pane_topsites_body": "Accesează site-urile pe care le vizitezi mai des.",
   "settings_pane_topsites_options_showmore": "Arată două rânduri",
   "settings_pane_highlights_body2": "Regăsește lucrurile interesante pe care le-ai vizitat sau marcat recent.",
--- a/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ro/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Новая вкладка</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Искать в Интернете</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Искать в Интернете" title="Искать в Интернете"/><button id="searchSubmit" class="search-button" title="Искать"><span class="sr-only"><span>Искать</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Топ сайтов</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Открыть контекстное меню раздела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Открыть контекстное меню раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярные темы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Избранное</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Открыть контекстное меню раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настроить свою страницу новой вкладки"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Искать в Интернете</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Искать в Интернете" title="Искать в Интернете"/><button id="searchSubmit" class="search-button" title="Искать"><span class="sr-only"><span>Искать</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Топ сайтов</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Открыть контекстное меню раздела</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Изменить этот сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Открыть контекстное меню раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярные темы:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Избранное</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Открыть контекстное меню раздела</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Настроить свою страницу новой вкладки"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Нет, спасибо",
   "manual_migration_import_button": "Импортировать сейчас",
   "error_fallback_default_info": "К сожалению что-то пошло не так при загрузке этого содержимого.",
   "error_fallback_default_refresh_suggestion": "Обновите страницу, чтобы повторить попытку.",
   "section_menu_action_remove_section": "Удалить раздел",
   "section_menu_action_collapse_section": "Свернуть раздел",
   "section_menu_action_expand_section": "Развернуть раздел",
   "section_menu_action_manage_section": "Управление разделом",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Добавить в топ сайтов",
   "section_menu_action_move_up": "Вверх",
   "section_menu_action_move_down": "Вниз",
   "section_menu_action_privacy_notice": "Уведомление о приватности",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Восстановить по умолчанию",
   "settings_pane_header": "Настройки новой вкладки",
   "settings_pane_body2": "Выберите, что вы увидите на этой странице.",
   "settings_pane_search_header": "Поиск",
   "settings_pane_search_body": "Поиск в Интернете с вашей новой вкладки.",
   "settings_pane_topsites_body": "Получите доступ к сайтам, которые вы посещаете чаще всего.",
   "settings_pane_topsites_options_showmore": "Показать в два ряда",
   "settings_pane_highlights_body2": "Найдите способ вернуться к интересным страницам, которые вы недавно посетили или добавили в закладки.",
--- a/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ru/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>නව ටැබය</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ජාලය තුළ සොයන්න</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ජාලය තුළ සොයන්න" title="ජාලය තුළ සොයන්න"/><button id="searchSubmit" class="search-button" title="සොයන්න"><span class="sr-only"><span>සොයන්න</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ප්‍රමුඛ අඩවි</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket විසින් නිර්දේශිතයි</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ජනප්‍රිය මාතෘකා:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ඉස්මතු කිරීම්</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ඔබේ නව ටැබ පිටුව රුචිකරණය කරන්න"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ජාලය තුළ සොයන්න</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ජාලය තුළ සොයන්න" title="ජාලය තුළ සොයන්න"/><button id="searchSubmit" class="search-button" title="සොයන්න"><span class="sr-only"><span>සොයන්න</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ප්‍රමුඛ අඩවි</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="මෙම අඩවිය සකසන්න"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket විසින් නිර්දේශිතයි</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ජනප්‍රිය මාතෘකා:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>ඉස්මතු කිරීම්</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ඔබේ නව ටැබ පිටුව රුචිකරණය කරන්න"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/si/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "එපා, ස්තුතියි",
   "manual_migration_import_button": "දැන් ආයාත කරන්න",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "පූරණය වෙමින්…",
   "header_stories": "ප්‍රමුඛ පුවත්",
   "header_visit_again": "යළි පිවිසෙන්න",
   "header_bookmarks": "නැවුම් පිටු සලකුණු",
   "header_bookmarks_placeholder": "ඔබ සතුව තවම පිටුසලකුණු නැත.",
   "header_stories_from": "සිට​",
   "type_label_synced": "වෙනත් උපාංගයක් වෙතින් සමකාලීන​ කර ඇත​",
   "type_label_open": "විවෘත",
--- a/browser/extensions/activity-stream/prerendered/locales/si/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/si/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nová karta</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhľadávanie na webe</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhľadávanie na webe" title="Vyhľadávanie na webe"/><button id="searchSubmit" class="search-button" title="Hľadať"><span class="sr-only"><span>Hľadať</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top stránky</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorí kontextovú ponuku sekcie</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Odporúča Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorí kontextovú ponuku sekcie</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populárne témy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané stránky</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorí kontextovú ponuku sekcie</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prispôsobte si svoju stránku Nová karta"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Vyhľadávanie na webe</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Vyhľadávanie na webe" title="Vyhľadávanie na webe"/><button id="searchSubmit" class="search-button" title="Hľadať"><span class="sr-only"><span>Hľadať</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top stránky</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorí kontextovú ponuku sekcie</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Upraviť túto stránku"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Odporúča Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorí kontextovú ponuku sekcie</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populárne témy:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Vybrané stránky</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Otvorí kontextovú ponuku sekcie</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prispôsobte si svoju stránku Nová karta"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nie, ďakujem",
   "manual_migration_import_button": "Importovať teraz",
   "error_fallback_default_info": "Hups, pri načítavaní tohto obsahu sa niečo pokazilo.",
   "error_fallback_default_refresh_suggestion": "Obnovením stránky to skúsite znova.",
   "section_menu_action_remove_section": "Odstrániť sekciu",
   "section_menu_action_collapse_section": "Zbaliť sekciu",
   "section_menu_action_expand_section": "Rozbaliť sekciu",
   "section_menu_action_manage_section": "Spravovať sekciu",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Pridať top stránku",
   "section_menu_action_move_up": "Posunúť vyššie",
   "section_menu_action_move_down": "Posunúť nižšie",
   "section_menu_action_privacy_notice": "Zásady ochrany súkromia",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Obnoviť predvolené",
   "settings_pane_header": "Nastavenia Novej karty",
   "settings_pane_body2": "Vyberte si, čo chcete na tejto stránke vidieť.",
   "settings_pane_search_header": "Vyhľadávanie",
   "settings_pane_search_body": "Vyhľadávanie zo stránky novej karty.",
   "settings_pane_topsites_body": "Prístup k webovým stránkam, ktoré navštevujete najčastejšie.",
   "settings_pane_topsites_options_showmore": "Zobraziť dva riadky",
   "settings_pane_highlights_body2": "Pozrite sa na zaujímavé stránky, ktoré ste nedávno navštívili alebo pridali do záložiek.",
--- a/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sk/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Nov zavihek</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Iskanje po spletu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Iskanje po spletu" title="Iskanje po spletu"/><button id="searchSubmit" class="search-button" title="Iskanje"><span class="sr-only"><span>Iskanje</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Glavne strani</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Priporoča Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Priljubljene teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Poudarki</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prilagodite stran novega zavihka"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Iskanje po spletu</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Iskanje po spletu" title="Iskanje po spletu"/><button id="searchSubmit" class="search-button" title="Iskanje"><span class="sr-only"><span>Iskanje</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Glavne strani</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Uredi to stran"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Priporoča Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Priljubljene teme:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Poudarki</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Odpri priročni meni odseka</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Prilagodite stran novega zavihka"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ne, hvala",
   "manual_migration_import_button": "Uvozi zdaj",
   "error_fallback_default_info": "Ojoj, pri nalaganju te vsebine je šlo nekaj narobe.",
   "error_fallback_default_refresh_suggestion": "Osvežite stran za ponoven poskus.",
   "section_menu_action_remove_section": "Odstrani odsek",
   "section_menu_action_collapse_section": "Strni odsek",
   "section_menu_action_expand_section": "Razširi odsek",
   "section_menu_action_manage_section": "Upravljanje odseka",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Dodaj glavno stran",
   "section_menu_action_move_up": "Premakni gor",
   "section_menu_action_move_down": "Premakni dol",
   "section_menu_action_privacy_notice": "Obvestilo o zasebnosti",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Povrni privzeto",
   "settings_pane_header": "Nastavitve novega zavihka",
   "settings_pane_body2": "Izberite, kaj želite videti na tej strani.",
   "settings_pane_search_header": "Iskanje",
   "settings_pane_search_body": "Iščite po spletu z novega zavihka.",
   "settings_pane_topsites_body": "Priročen dostop do najbolj obiskanih strani.",
   "settings_pane_topsites_options_showmore": "Prikaži dve vrsti",
   "settings_pane_highlights_body2": "Najdite pot nazaj do zanimivih strani, ki ste jih nedavno obiskali ali dodali med zaznamke.",
--- a/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sl/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Skedë e Re</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Kërkoni në Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Kërkoni në Web" title="Kërkoni në Web"/><button id="searchSubmit" class="search-button" title="Kërko"><span class="sr-only"><span>Kërko</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sajte Kryesues</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomanduar nga Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tema Popullore:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizoni faqen tuaj Skedë e Re"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Kërkoni në Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Kërkoni në Web" title="Kërkoni në Web"/><button id="searchSubmit" class="search-button" title="Kërko"><span class="sr-only"><span>Kërko</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sajte Kryesues</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Përpunoni këtë sajt"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekomanduar nga Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tema Popullore:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Hap menu konteksti ndarjeje</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Personalizoni faqen tuaj Skedë e Re"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream-strings.js
@@ -5,56 +5,56 @@ window.gActivityStreamStrings = {
   "header_highlights": "Highlights",
   "header_recommended_by": "Rekomanduar nga {provider}",
   "context_menu_button_sr": "Hapni menu konteksti për {title}",
   "section_context_menu_button_sr": "Hap menu konteksti ndarjeje",
   "type_label_visited": "Të vizituara",
   "type_label_bookmarked": "Të faqeruajtura",
   "type_label_recommended": "Në modë",
   "type_label_pocket": "Ruajtur te Pocket",
-  "type_label_downloaded": "Downloaded",
+  "type_label_downloaded": "Të shkarkuara",
   "menu_action_bookmark": "Faqerojtës",
   "menu_action_remove_bookmark": "Hiqe Faqerojtësin",
   "menu_action_open_new_window": "Hape në Dritare të Re",
   "menu_action_open_private_window": "Hape në Dritare të Re Private",
   "menu_action_dismiss": "Hidhe tej",
   "menu_action_delete": "Fshije prej Historiku",
   "menu_action_pin": "Fiksoje",
   "menu_action_unpin": "Shfiksoje",
   "confirm_history_delete_p1": "Jeni të sigurt se doni të fshini nga historiku çdo instancë të kësaj faqeje?",
   "confirm_history_delete_notice_p2": "Ky veprim s’mund të zhbëhet.",
   "menu_action_save_to_pocket": "Ruaje te Pocket",
   "menu_action_delete_pocket": "Fshije nga Pocket",
   "menu_action_archive_pocket": "Arkivoje në Pocket",
-  "menu_action_show_file_mac_os": "Show in Finder",
-  "menu_action_show_file_windows": "Open Containing Folder",
-  "menu_action_show_file_linux": "Open Containing Folder",
-  "menu_action_show_file_default": "Show File",
-  "menu_action_open_file": "Open File",
-  "menu_action_copy_download_link": "Copy Download Link",
-  "menu_action_go_to_download_page": "Go to Download Page",
-  "menu_action_remove_download": "Remove from History",
+  "menu_action_show_file_mac_os": "Shfaqe Në Finder",
+  "menu_action_show_file_windows": "Hap Dosjen Përkatëse",
+  "menu_action_show_file_linux": "Hap Dosjen Përkatëse",
+  "menu_action_show_file_default": "Shfaqe Kartelën",
+  "menu_action_open_file": "Hape Kartelën",
+  "menu_action_copy_download_link": "Kopjo Lidhjen e Shkarkimit",
+  "menu_action_go_to_download_page": "Shko Te Faqja e Shkarkimit",
+  "menu_action_remove_download": "Hiqe Prej Historiku",
   "search_button": "Kërko",
   "search_header": "Kërkim me {search_engine_name}",
   "search_web_placeholder": "Kërkoni në Web",
   "section_disclaimer_topstories": "Historitë më interesante në internet, të përzgjedhura mbi bazën e çka lexoni. Nga Pocket-i, tani pjesë e Mozilla-.",
   "section_disclaimer_topstories_linktext": "Mësoni se si funksionon.",
   "section_disclaimer_topstories_buttontext": "OK, e mora vesh",
   "prefs_home_header": "Lëndë Firefox Home",
   "prefs_home_description": "Zgjidhni ç’lëndë doni në skenën tuaj Firefox.",
   "prefs_section_rows_option": "{num} rresht;{num} rreshta",
   "prefs_search_header": "Kërkim Web",
   "prefs_topsites_description": "Sajtet që vizitoni më tepër",
-  "prefs_topstories_description2": "Great content from around the web, personalized for you",
-  "prefs_topstories_options_sponsored_label": "Sponsored Stories",
+  "prefs_topstories_description2": "Lëndë e bukur nga anembanë internetit, personalizuar për ju",
+  "prefs_topstories_options_sponsored_label": "Histori të Sponsorizuara",
   "prefs_topstories_sponsored_learn_more": "Mësoni më tepër",
   "prefs_highlights_description": "Një përzgjedhje të sajteve që keni ruajtur ose vizituar",
-  "prefs_highlights_options_visited_label": "Visited Pages",
-  "prefs_highlights_options_download_label": "Most Recent Download",
-  "prefs_highlights_options_pocket_label": "Pages Saved to Pocket",
+  "prefs_highlights_options_visited_label": "Faqe të Vizituara",
+  "prefs_highlights_options_download_label": "Shkarkimet Më të Reja",
+  "prefs_highlights_options_pocket_label": "Faqe të Ruajtura te Pocket",
   "prefs_snippets_description": "Përditësime nga Mozilla dhe Firefox-i",
   "settings_pane_button_label": "Personalizoni faqen tuaj Skedë e Re",
   "settings_pane_topsites_header": "Sajte Kryesues",
   "settings_pane_highlights_header": "Highlights",
   "settings_pane_highlights_options_bookmarks": "Faqerojtës",
   "settings_pane_snippets_header": "Copëza",
   "edit_topsites_button_text": "Përpunoni",
   "edit_topsites_edit_button": "Përpunoni këtë sajt",
@@ -80,65 +80,25 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Jo, Faleminderit",
   "manual_migration_import_button": "Importoje Tani",
   "error_fallback_default_info": "Hëm, diç shkoi ters në ngarkimin e kësaj lënde.",
   "error_fallback_default_refresh_suggestion": "Rifreskoni faqen që të riprovohet.",
   "section_menu_action_remove_section": "Hiqe Ndarjen",
   "section_menu_action_collapse_section": "Tkurre Ndarjen",
   "section_menu_action_expand_section": "Zgjeroje Ndarjen",
   "section_menu_action_manage_section": "Administroni Ndarjen",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Shtoni Sajt Kryesues",
   "section_menu_action_move_up": "Ngjite",
   "section_menu_action_move_down": "Zbrite",
   "section_menu_action_privacy_notice": "Shënim Mbi Privatësinë",
-  "default_label_loading": "Po ngarkohet…",
-  "header_stories": "Historitë Kryesuese",
-  "header_visit_again": "Rivizitojeni",
-  "header_bookmarks": "Faqerojtës Së Fundi",
-  "header_bookmarks_placeholder": "Ende s’keni faqerojtës.",
-  "header_stories_from": "nga",
-  "type_label_synced": "Njëkohësuar prej pajisjeje tjetër",
-  "type_label_open": "Hape",
-  "type_label_topic": "Temë",
-  "type_label_now": "Tani",
-  "menu_action_copy_address": "Kopjoje Adresën",
-  "menu_action_email_link": "Dërgoni Lidhje me Email…",
-  "search_for_something_with": "Kërko për {search_term} me:",
-  "search_settings": "Ndryshoji Rregullimet e Kërkimit",
-  "section_info_option": "Të dhëna",
-  "section_info_send_feedback": "Dërgoji Përshtypjet",
-  "section_info_privacy_notice": "Shënim Mbi Privatësinë",
-  "welcome_title": "Mirë se vini te skedë e re",
-  "welcome_body": "Firefox-i do ta përdorë këtë hapësirë për t’ju shfaqur faqerojtësit, artikujt, videot dhe faqet më me peshë që keni vizituar së fundi, që kështu të mund të ktheheni lehtë në to.",
-  "welcome_label": "Po identifikohen Highlights tuaj",
-  "time_label_less_than_minute": "<1m",
-  "time_label_minute": "{number}m",
-  "time_label_hour": "{number}h",
-  "time_label_day": "{number}d",
-  "prefs_restore_defaults_button": "Rikthe Parazgjedhjet",
-  "prefs_topstories_description": "Lëndë cilësore që përndryshe mund ta hmbni",
-  "prefs_topstories_show_sponsored_label": "Histori të Sponsorizura nga {provider}",
-  "settings_pane_header": "Parapëlqime për Skedë të Re",
-  "settings_pane_body2": "Zgjidhni ç’të shihni në këtë faqe.",
-  "settings_pane_search_header": "Kërko",
-  "settings_pane_search_body": "Kërkoni në Web prej skedës tuaj të re.",
-  "settings_pane_topsites_body": "Hyni te sajtet që vizitoni më shpesh.",
-  "settings_pane_topsites_options_showmore": "Shfaq dy rreshta",
-  "settings_pane_bookmarks_header": "Faqerojtës Së Fundi",
-  "settings_pane_bookmarks_body": "Faqerojtësit tuaj të krijuar së fundi, në një vend të volitshëm.",
-  "settings_pane_visit_again_header": "Rivizitojeni",
-  "settings_pane_visit_again_body": "Firefox-i do t’ju shfaqë pjesë të historikut tuaj të shfletimeve që mund të doni ta mbani mend ose ku të riktheheni.",
-  "settings_pane_highlights_body2": "Gjeni rrugën për t’u rikthyer te gjëra interesante që keni vizituar apo faqerojtur së fundi.",
-  "settings_pane_highlights_options_visited": "Sajte të Vizituar",
-  "settings_pane_snippets_body": "Lexoni rreth Firefox-it përditësime të shkurtra dhe të ngrohta nga Mozilla, kulturën e internetit, dhe memes kutur të rastësishme.",
-  "settings_pane_done_button": "U bë",
-  "settings_pane_topstories_options_sponsored": "Shfaq Histori të Sponsorizuara",
-  "edit_topsites_button_label": "Personalizoni ndarjen tuaj Sajte Kryesues",
-  "edit_topsites_showmore_button": "Shfaq më tepër",
-  "edit_topsites_showless_button": "Shfaq më pak",
-  "edit_topsites_done_button": "U bë",
-  "edit_topsites_pin_button": "Fiksoje këtë sajt",
-  "edit_topsites_unpin_button": "Hiqe fiksimin e këtij sajti",
-  "edit_topsites_dismiss_button": "Hidhe tej këtë sajt",
-  "edit_topsites_add_button": "Shtoni",
-  "pocket_feedback_header": "Ajka e web-it, nën kujdesin e mbi 25 milionë vetëve.",
-  "pocket_description": "Zbuloni lëndë të cilësisë së lartë që ndryshe mund ta humbnit, me ndihmën e Pocket-it, tani pjesë e Mozilla-s."
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step"
 };
--- a/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sq/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Нови језичак</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Претражи веб</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Претражи веб" title="Претражи веб"/><button id="searchSubmit" class="search-button" title="Претражи"><span class="sr-only"><span>Претражи</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Омиљени сајтови</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Предложио Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарне теме:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Истакнуто</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Прилагодите страницу новог језичка"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Претражи веб</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Претражи веб" title="Претражи веб"/><button id="searchSubmit" class="search-button" title="Претражи"><span class="sr-only"><span>Претражи</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Омиљени сајтови</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Уреди овај сајт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Предложио Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популарне теме:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Истакнуто</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Отворите секцију контекст менија</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Прилагодите страницу новог језичка"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Не, хвала",
   "manual_migration_import_button": "Увези сада",
   "error_fallback_default_info": "Упс, дошло је до грешке приликом учитавања овог садржаја.",
   "error_fallback_default_refresh_suggestion": "Освежите страницу да покушате поново.",
   "section_menu_action_remove_section": "Уклони секцију",
   "section_menu_action_collapse_section": "Скупи секцију",
   "section_menu_action_expand_section": "Прошири секцију",
   "section_menu_action_manage_section": "Управљај секцијом",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Додај омиљени сајт",
   "section_menu_action_move_up": "Помери горе",
   "section_menu_action_move_down": "Помери доле",
   "section_menu_action_privacy_notice": "Обавештење о приватности",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Врати подразумевано",
   "settings_pane_header": "Поставке новог језичка",
   "settings_pane_body2": "Изаберите шта желите видети на овој страници.",
   "settings_pane_search_header": "Претрага",
   "settings_pane_search_body": "Претражујте веб из вашег новог језичка.",
   "settings_pane_topsites_body": "Приступите најпосећенијим веб сајтовима.",
   "settings_pane_topsites_options_showmore": "Прикажи у два реда",
   "settings_pane_highlights_body2": "Поново погледајте занимљиве ствари које сте скоро посетили или забележили.",
--- a/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sr/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Ny flik</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sök på webben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sök på webben" title="Sök på webben"/><button id="searchSubmit" class="search-button" title="Sök"><span class="sr-only"><span>Sök</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besökta</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekommenderas av Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populära ämnen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Höjdpunkter</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Anpassa sidan för Ny flik"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Sök på webben</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Sök på webben" title="Sök på webben"/><button id="searchSubmit" class="search-button" title="Sök"><span class="sr-only"><span>Sök</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Mest besökta</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Redigera denna webbplats"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Rekommenderas av Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Populära ämnen:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Höjdpunkter</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Öppna sektionens snabbmeny</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Anpassa sidan för Ny flik"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Nej tack",
   "manual_migration_import_button": "Importera nu",
   "error_fallback_default_info": "Oj, något gick fel när innehållet skulle laddas.",
   "error_fallback_default_refresh_suggestion": "Uppdatera sidan för att försöka igen.",
   "section_menu_action_remove_section": "Ta bort sektion",
   "section_menu_action_collapse_section": "Fäll ihop sektion",
   "section_menu_action_expand_section": "Expandera sektion",
   "section_menu_action_manage_section": "Hantera sektion",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Lägg till mest besökta",
   "section_menu_action_move_up": "Flytta upp",
   "section_menu_action_move_down": "Flytta ner",
   "section_menu_action_privacy_notice": "Sekretesspolicy",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Återställ standard",
   "settings_pane_header": "Inställningar Ny flik",
   "settings_pane_body2": "Välj vad du vill se på denna sida.",
   "settings_pane_search_header": "Sök",
   "settings_pane_search_body": "Sök på webben från din nya flik.",
   "settings_pane_topsites_body": "Åtkomst till de webbplatser du besökt mest.",
   "settings_pane_topsites_options_showmore": "Visa två rader",
   "settings_pane_highlights_body2": "Hitta tillbaka till intressanta saker som du nyligen har besökt eller bokmärkt.",
--- a/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/sv-SE/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>புதிய கீற்று</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>இணையத்தில் தேடு</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="இணையத்தில் தேடு" title="இணையத்தில் தேடு"/><button id="searchSubmit" class="search-button" title="தேடு"><span class="sr-only"><span>தேடு</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>சிறந்த தளங்கள்</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket என்பவரால் பரிந்துரைக்கப்பட்டது</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>பிரபலமான தலைப்புகள்:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>மிளிர்ப்புகள்</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="உங்கள் புதிய கீற்றுப் பக்கத்தை விருப்பமை"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>இணையத்தில் தேடு</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="இணையத்தில் தேடு" title="இணையத்தில் தேடு"/><button id="searchSubmit" class="search-button" title="தேடு"><span class="sr-only"><span>தேடு</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>சிறந்த தளங்கள்</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="இத்தளத்தை தொகு"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket என்பவரால் பரிந்துரைக்கப்பட்டது</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>பிரபலமான தலைப்புகள்:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>மிளிர்ப்புகள்</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="உங்கள் புதிய கீற்றுப் பக்கத்தை விருப்பமை"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "பரவாயில்லை",
   "manual_migration_import_button": "இப்போது இறக்கு",
   "error_fallback_default_info": "அச்சச்சோ, இந்த உள்ளடக்கத்தை ஏற்றுவதில் ஏதோ தவறு ஏற்பட்டது.",
   "error_fallback_default_refresh_suggestion": "மீண்டும் முயற்சிக்க பக்கத்தை புதுப்பி.",
   "section_menu_action_remove_section": "பகுதியை நீக்கவும்",
   "section_menu_action_collapse_section": "பகுதியைச் சுருக்கு",
   "section_menu_action_expand_section": "பகுதியை விரி",
   "section_menu_action_manage_section": "பகுதியை நிர்வகி",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "முதன்மை தளத்தைச் சேர்",
   "section_menu_action_move_up": "மேலே நகர்த்து",
   "section_menu_action_move_down": "கீழே நகர்த்து",
   "section_menu_action_privacy_notice": "தனியுரிமை அறிவிப்பு",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_topstories_show_sponsored_label": "{provider} விளம்பரதாரர் செய்திகள்",
   "settings_pane_header": "புதிய கீற்றின் முன்னுரிமைகள்",
   "settings_pane_body2": "இந்த பக்கத்தில் நீங்கள் பார்ப்பதை தேர்வு செய்யவும்.",
   "settings_pane_search_header": "தேடல்",
   "settings_pane_search_body": "புதிய கீற்றிலீருந்து இணையத்தை தேடு.",
   "settings_pane_topsites_body": "நீங்கள் அடிக்கடி பார்க்கும் தளங்களை அணுகவும்.",
   "settings_pane_topsites_options_showmore": "இரு வரிசைகளைக் காண்பி",
   "settings_pane_highlights_body2": "நீங்கள் சமீபத்தில் பார்வையிட்ட புத்தகக்குறியிட்ட சுவாரசியமான விடயங்களை மீண்டும் காணுங்கள்.",
--- a/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ta/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>కొత్త ట్యాబు</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>జాలంలో వెతకండి</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="జాలంలో వెతకండి" title="జాలంలో వెతకండి"/><button id="searchSubmit" class="search-button" title="వెతకండి"><span class="sr-only"><span>వెతకండి</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>మేటి సైట్లు</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocketచే సిఫార్సు చేయబడినది</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ప్రముఖ అంశాలు:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>విశేషాలు</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="మీ కొత్త ట్యాబు పేజీని మలచుకోండి"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>జాలంలో వెతకండి</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="జాలంలో వెతకండి" title="జాలంలో వెతకండి"/><button id="searchSubmit" class="search-button" title="వెతకండి"><span class="sr-only"><span>వెతకండి</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>మేటి సైట్లు</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="ఈ సైటును మార్చు"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocketచే సిఫార్సు చేయబడినది</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>ప్రముఖ అంశాలు:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>విశేషాలు</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>విభాగపు కంటెక్స్టు మెనూ తెరువు</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="మీ కొత్త ట్యాబు పేజీని మలచుకోండి"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/te/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "అడిగినందుకు ధన్యవాదాలు, వద్దు",
   "manual_migration_import_button": "ఇప్పుడే దిగుమతి చేయండి",
   "error_fallback_default_info": "అయ్యో, ఈ విషయం తేవడంలో ఏదో తప్పు దొర్లింది.",
   "error_fallback_default_refresh_suggestion": "మళ్ళీ ప్రయత్నించడానికి పేజీని రీఫ్రెష్ చెయ్యండి.",
   "section_menu_action_remove_section": "విభాగాన్ని తీసివేయి",
   "section_menu_action_collapse_section": "విభాగాన్ని ముడిచివేయి",
   "section_menu_action_expand_section": "విభాగాన్ని విస్తరించు",
   "section_menu_action_manage_section": "విభాగ నిర్వహణ",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "మేటి సైటును చేర్చు",
   "section_menu_action_move_up": "పైకి జరుపు",
   "section_menu_action_move_down": "కిందకి జరుపు",
   "section_menu_action_privacy_notice": "అంతరంగికత గమనిక",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "అప్రమేయాలను పునరుద్ధరించు",
   "settings_pane_header": "కొత్త ట్యాబు అభిరుచులు",
   "settings_pane_body2": "ఈ పేజీలో ఏమేం కనబడాలో ఎంచుకోండి.",
   "settings_pane_search_header": "వెతకడం",
   "settings_pane_search_body": "కొత్త ట్యాబు నుండే జాలంలో వెతకండి.",
   "settings_pane_topsites_body": "మీరు ఎక్కువగా చూసే వెబ్‌సైట్లకు ఇట్టే వెళ్ళండి.",
   "settings_pane_topsites_options_showmore": "రెండు వరుసలు చూపించు",
   "settings_pane_highlights_body2": "ఇటీవలే మీరు చూసిన లేదా ఇష్టపడిన ఆసక్తికరమైన విషయాలు మళ్ళీ మీ ముందుకొస్తాయి.",
--- a/browser/extensions/activity-stream/prerendered/locales/te/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/te/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>แท็บใหม่</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ค้นหาเว็บ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ค้นหาเว็บ" title="ค้นหาเว็บ"/><button id="searchSubmit" class="search-button" title="ค้นหา"><span class="sr-only"><span>ค้นหา</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ไซต์เด่น</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>แนะนำโดย Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>หัวข้อยอดนิยม:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>รายการเด่น</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ปรับแต่งหน้าแท็บใหม่ของคุณ"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ค้นหาเว็บ</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ค้นหาเว็บ" title="ค้นหาเว็บ"/><button id="searchSubmit" class="search-button" title="ค้นหา"><span class="sr-only"><span>ค้นหา</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>ไซต์เด่น</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="แก้ไขไซต์นี้"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>แนะนำโดย Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>หัวข้อยอดนิยม:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>รายการเด่น</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>เปิดเมนูบริบทของส่วน</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="ปรับแต่งหน้าแท็บใหม่ของคุณ"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/th/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "ไม่ ขอบคุณ",
   "manual_migration_import_button": "นำเข้าตอนนี้",
   "error_fallback_default_info": "อุปส์ มีบางอย่างผิดพลาดในการโหลดเนื้อหานี้",
   "error_fallback_default_refresh_suggestion": "เรียกหน้าใหม่เพื่อลองอีกครั้ง",
   "section_menu_action_remove_section": "เอาส่วนออก",
   "section_menu_action_collapse_section": "ยุบส่วน",
   "section_menu_action_expand_section": "ขยายส่วน",
   "section_menu_action_manage_section": "จัดการส่วน",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "เพิ่มไซต์เด่น",
   "section_menu_action_move_up": "ย้ายขึ้น",
   "section_menu_action_move_down": "ย้ายลง",
   "section_menu_action_privacy_notice": "ประกาศความเป็นส่วนตัว",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "เรียกคืนค่าเริ่มต้น",
   "settings_pane_header": "ค่ากำหนดแท็บใหม่",
   "settings_pane_body2": "เลือกสิ่งที่คุณเห็นในหน้านี้",
   "settings_pane_search_header": "ค้นหา",
   "settings_pane_search_body": "ค้นหาเว็บจากแท็บใหม่ของคุณ",
   "settings_pane_topsites_body": "เข้าถึงเว็บไซต์ที่คุณเยี่ยมชมมากที่สุด",
   "settings_pane_topsites_options_showmore": "แสดงสองแถว",
   "settings_pane_highlights_body2": "ค้นหาทางของคุณกลับไปยังสิ่งที่น่าสนใจที่คุณได้เยี่ยมชมหรือเพิ่มที่คั่นหน้าไว้ล่าสุด",
--- a/browser/extensions/activity-stream/prerendered/locales/th/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/th/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Bagong Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Hanapin sa Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Hanapin sa Web" title="Hanapin sa Web"/><button id="searchSubmit" class="search-button" title="Hanapin"><span class="sr-only"><span>Hanapin</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Tuktok na mga Site</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buksan ang menu ng konteksto ng seksyon</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Inirekomenda ni Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buksan ang menu ng konteksto ng seksyon</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tanyag na mga paksa:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Naka-highlight</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buksan ang menu ng konteksto ng seksyon</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="I-customize ang iyong pahina ng Bagong Tab"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Hanapin sa Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Hanapin sa Web" title="Hanapin sa Web"/><button id="searchSubmit" class="search-button" title="Hanapin"><span class="sr-only"><span>Hanapin</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Tuktok na mga Site</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buksan ang menu ng konteksto ng seksyon</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="I-edit ang site na ito"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Inirekomenda ni Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buksan ang menu ng konteksto ng seksyon</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Tanyag na mga paksa:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Naka-highlight</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Buksan ang menu ng konteksto ng seksyon</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="I-customize ang iyong pahina ng Bagong Tab"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Salamat na lang",
   "manual_migration_import_button": "Angkatin Ngayon",
   "error_fallback_default_info": "Oops, may naganap na mali sa paglo-load ng nilalamang ito.",
   "error_fallback_default_refresh_suggestion": "I-refresh ang pahina upang subukang muli.",
   "section_menu_action_remove_section": "Alisin ang Seksyon",
   "section_menu_action_collapse_section": "I-collapse ang Seksyon",
   "section_menu_action_expand_section": "Palawakin ang Seksyon",
   "section_menu_action_manage_section": "Pamahalaan ang Seksyon",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Magdagdag ng Nangungunang Site",
   "section_menu_action_move_up": "Ilipat Up",
   "section_menu_action_move_down": "Ilipat sa Baba",
   "section_menu_action_privacy_notice": "Paunawa sa Privacy",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Pagkarga…",
   "header_stories": "Nangunguna na mga Kwento",
   "header_visit_again": "Bisitahin Muli",
   "header_bookmarks": "Kamakailang mga Bookmark",
   "header_bookmarks_placeholder": "Wala kang anumang mga bookmark.",
   "header_stories_from": "mula sa",
   "type_label_synced": "Naka-sync mula sa ibang kagamitan",
   "type_label_open": "Bukas",
--- a/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/tl/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yeni Sekme</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web’de ara</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web’de ara" title="Web’de ara"/><button id="searchSubmit" class="search-button" title="Ara"><span class="sr-only"><span>Ara</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sık Kullanılan Siteler</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket öneriyor</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popüler konular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Öne Çıkanlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Sekme sayfanızı özelleştirin"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Web’de ara</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Web’de ara" title="Web’de ara"/><button id="searchSubmit" class="search-button" title="Ara"><span class="sr-only"><span>Ara</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Sık Kullanılan Siteler</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu siteyi düzenle"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket öneriyor</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popüler konular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Öne Çıkanlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bölüm bağlam menüsünü aç</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yeni Sekme sayfanızı özelleştirin"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Gerek yok",
   "manual_migration_import_button": "Olur, aktaralım",
   "error_fallback_default_info": "Bu içerik yüklenirken bir hata oluştu.",
   "error_fallback_default_refresh_suggestion": "Yeniden denemek için sayfayı tazeleyin.",
   "section_menu_action_remove_section": "Bölümü sil",
   "section_menu_action_collapse_section": "Bölümü daralt",
   "section_menu_action_expand_section": "Bölümü genişlet",
   "section_menu_action_manage_section": "Bölümü yönet",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Sık kullanılan site ekle",
   "section_menu_action_move_up": "Yukarı taşı",
   "section_menu_action_move_down": "Aşağı taşı",
   "section_menu_action_privacy_notice": "Gizlilik bildirimi",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Varsayılanları geri yükle",
   "settings_pane_header": "Yeni Sekme Tercihleri",
   "settings_pane_body2": "Bu sayfada görmek istediklerinizi seçin.",
   "settings_pane_search_header": "Arama",
   "settings_pane_search_body": "Yeni sekme üzerinden web’de arama yapın.",
   "settings_pane_topsites_body": "En sık ziyaret ettiğiniz web sitelerine erişin.",
   "settings_pane_topsites_options_showmore": "İki satır göster",
   "settings_pane_highlights_body2": "Son zamanlarda baktığınız veya yer imlerinize eklediğiniz ilginç şeyleri yeniden keşfedin.",
--- a/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/tr/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Нова вкладка</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук в Інтернеті</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук в Інтернеті" title="Пошук в Інтернеті"/><button id="searchSubmit" class="search-button" title="Пошук"><span class="sr-only"><span>Пошук</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Популярні сайти</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярні теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Обране</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Налаштуйте свою сторінку нової вкладки"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Пошук в Інтернеті</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Пошук в Інтернеті" title="Пошук в Інтернеті"/><button id="searchSubmit" class="search-button" title="Пошук"><span class="sr-only"><span>Пошук</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Популярні сайти</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Змінити цей сайт"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Рекомендовано Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Популярні теми:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Обране</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Відкрити контекстне меню розділу</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Налаштуйте свою сторінку нової вкладки"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Ні, дякую",
   "manual_migration_import_button": "Імпортувати зараз",
   "error_fallback_default_info": "Ой, при завантаженні цього вмісту щось пішло не так.",
   "error_fallback_default_refresh_suggestion": "Оновіть сторінку, щоб спробувати знову.",
   "section_menu_action_remove_section": "Вилучити розділ",
   "section_menu_action_collapse_section": "Згорнути розділ",
   "section_menu_action_expand_section": "Розгорнути розділ",
   "section_menu_action_manage_section": "Керувати розділом",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Додати до популярних сайтів",
   "section_menu_action_move_up": "Вгору",
   "section_menu_action_move_down": "Вниз",
   "section_menu_action_privacy_notice": "Повідомлення про приватність",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Відновити типові",
   "settings_pane_header": "Налаштування нової вкладки",
   "settings_pane_body2": "Оберіть, що ви побачите на цій сторінці.",
   "settings_pane_search_header": "Пошук",
   "settings_pane_search_body": "Пошук в Інтернеті з нової вкладки.",
   "settings_pane_topsites_body": "Доступ до найчастіше відвідуваних веб-сайтів.",
   "settings_pane_topsites_options_showmore": "Показувати два рядки",
   "settings_pane_highlights_body2": "Визначте свій спосіб, як повернутися до цікавих матеріалів, які ви нещодавно переглядали чи зберігали.",
--- a/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/uk/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>نیا ٹیب</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ويب پر تلاش کريں</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ويب پر تلاش کريں" title="ويب پر تلاش کريں"/><button id="searchSubmit" class="search-button" title="تلاش"><span class="sr-only"><span>تلاش</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>بہترین سائٹیں</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket کی جانب سے تجویز کردہ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>مشہور مضامین:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>شہ سرخياں</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="اپنے نئے ٹیب کہ صفحہ کی تخصیص کریں"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>ويب پر تلاش کريں</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="ويب پر تلاش کريں" title="ويب پر تلاش کريں"/><button id="searchSubmit" class="search-button" title="تلاش"><span class="sr-only"><span>تلاش</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>بہترین سائٹیں</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="اس سائٹ کی تدوین کریں"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket کی جانب سے تجویز کردہ</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>مشہور مضامین:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>شہ سرخياں</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="اپنے نئے ٹیب کہ صفحہ کی تخصیص کریں"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "نہیں شکریہ",
   "manual_migration_import_button": "ابھی درآمد کری",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "اوپر کریں",
   "section_menu_action_move_down": "نیچے کریں",
   "section_menu_action_privacy_notice": "رازداری کا نوٹس",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "طےشدہ بحال کریں",
   "prefs_topstories_description": "اعلی میعار کا مواد جو شاید آپ بصورت دیگر کھو دیں",
   "settings_pane_header": "نئے َٹیب کی ترجیحات",
   "settings_pane_body2": "انتخاب کریں آپ اس صفحہ پر کیا دیکھنا چاہیں گے۔",
   "settings_pane_search_header": "تلاش",
   "settings_pane_search_body": "اپنے نئے ٹیب سے وہب پر تلاش کریں۔",
   "settings_pane_topsites_body": "اپنی سب سے زیادہ دورہ کردہ ویب سائٹ تک رسائی حاصل کریں۔",
   "settings_pane_topsites_options_showmore": "دو قطاریں دکھائیں",
--- a/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/ur/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Yangi ichki oyna</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Internetda izlash</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Internetda izlash" title="Internetda izlash"/><button id="searchSubmit" class="search-button" title="Qidiruv"><span class="sr-only"><span>Qidiruv</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Ommabop saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bo‘lim kontekst menyusini ochish</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket tomonidan tavsiya qilingan</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bo‘lim kontekst menyusini ochish</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Mashhur mavzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Saralangan saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bo‘lim kontekst menyusini ochish</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yangi ichki oyna sahifasini sozlash"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Internetda izlash</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Internetda izlash" title="Internetda izlash"/><button id="searchSubmit" class="search-button" title="Qidiruv"><span class="sr-only"><span>Qidiruv</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Ommabop saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bo‘lim kontekst menyusini ochish</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Bu saytni tahrirlash"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket tomonidan tavsiya qilingan</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bo‘lim kontekst menyusini ochish</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Mashhur mavzular:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Saralangan saytlar</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Bo‘lim kontekst menyusini ochish</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Yangi ichki oyna sahifasini sozlash"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Yoʻq, kerak emas",
   "manual_migration_import_button": "Hozir import qilish",
   "error_fallback_default_info": "Kontent yuklanayotganda qandaydir xatolik yuz berdi.",
   "error_fallback_default_refresh_suggestion": "Yana urinib ko‘rish uchun sahifani yangilang.",
   "section_menu_action_remove_section": "Qismni olib tashlash",
   "section_menu_action_collapse_section": "Qismni yig‘ish",
   "section_menu_action_expand_section": "Qismni yoyish",
   "section_menu_action_manage_section": "Qismni boshqarish",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Ommabop saytga qo‘shish",
   "section_menu_action_move_up": "Tepaga ko‘tarish",
   "section_menu_action_move_down": "Pastga tushirish",
   "section_menu_action_privacy_notice": "Maxfiylik eslatmalari",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "Asliga tiklash",
   "settings_pane_header": "Yangi ichki oyna parametrlari",
   "settings_pane_body2": "Bu sahifada nimani ko‘rishni xohlasangiz, o‘shani tanlang.",
   "settings_pane_search_header": "Izlash",
   "settings_pane_search_body": "Yangi ichki oynada internetdan izlash.",
   "settings_pane_topsites_body": "Eng ko‘p kirilgan saytlarga kirish.",
   "settings_pane_topsites_options_showmore": "Ikki qatorda ko‘rsatish",
   "settings_pane_highlights_body2": "So‘nggi kirilgan qiziqarli saytlar yoki xatcho‘plarga qaytish yo‘lini toping.",
--- a/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/uz/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>Tab mới</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tìm trên mạng</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tìm trên mạng" title="Tìm trên mạng"/><button id="searchSubmit" class="search-button" title="Tìm kiếm"><span class="sr-only"><span>Tìm kiếm</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Trang web hàng đầu</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Được đề nghị bởi Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Các chủ đề phổ biến:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nổi bật</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tùy biến trang Tab mới"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Tìm trên mạng</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Tìm trên mạng" title="Tìm trên mạng"/><button id="searchSubmit" class="search-button" title="Tìm kiếm"><span class="sr-only"><span>Tìm kiếm</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Trang web hàng đầu</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Chỉnh sửa trang web này"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Được đề nghị bởi Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Các chủ đề phổ biến:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Nổi bật</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Tùy biến trang Tab mới"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "Không, cảm ơn",
   "manual_migration_import_button": "Nhập ngay bây giờ",
   "error_fallback_default_info": "Oops, something went wrong loading this content.",
   "error_fallback_default_refresh_suggestion": "Refresh page to try again.",
   "section_menu_action_remove_section": "Remove Section",
   "section_menu_action_collapse_section": "Collapse Section",
   "section_menu_action_expand_section": "Expand Section",
   "section_menu_action_manage_section": "Manage Section",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "Add Top Site",
   "section_menu_action_move_up": "Move Up",
   "section_menu_action_move_down": "Move Down",
   "section_menu_action_privacy_notice": "Privacy Notice",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "default_label_loading": "Đang tải…",
   "header_stories": "Câu chuyện hàng đầu",
   "header_visit_again": "Truy cập lại",
   "header_bookmarks": "Các bookmark gần đây",
   "header_bookmarks_placeholder": "Bạn chưa có bookmark nào.",
   "header_stories_from": "từ",
   "type_label_synced": "Đồng bộ từ thiết bị khác",
   "type_label_open": "Mở",
--- a/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/vi/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>新标签页</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>在网络上搜索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="在网络上搜索" title="在网络上搜索"/><button id="searchSubmit" class="search-button" title="搜索"><span class="sr-only"><span>搜索</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>常用网站</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推荐</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>热门主题:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>集锦</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="定制您的新标签页"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>在网络上搜索</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="在网络上搜索" title="在网络上搜索"/><button id="searchSubmit" class="search-button" title="搜索"><span class="sr-only"><span>搜索</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>常用网站</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="编辑此网站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推荐</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>热门主题:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>集锦</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>打开板块快捷菜单</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="定制您的新标签页"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "不用了",
   "manual_migration_import_button": "立即导入",
   "error_fallback_default_info": "哎呀,加载此内容出错了。",
   "error_fallback_default_refresh_suggestion": "刷新页面以重试。",
   "section_menu_action_remove_section": "移除板块",
   "section_menu_action_collapse_section": "折叠板块",
   "section_menu_action_expand_section": "展开板块",
   "section_menu_action_manage_section": "管理板块",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "添加常用网站",
   "section_menu_action_move_up": "上移",
   "section_menu_action_move_down": "下移",
   "section_menu_action_privacy_notice": "隐私声明",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "恢复默认设置",
   "settings_pane_header": "新标签页偏好设置",
   "settings_pane_body2": "选择您想在此页面上看到什么。",
   "settings_pane_search_header": "搜索",
   "settings_pane_search_body": "在新标签页内就能搜遍网络。",
   "settings_pane_topsites_body": "显示您经常访问的网站。",
   "settings_pane_topsites_options_showmore": "双行显示",
   "settings_pane_highlights_body2": "根据您最近访问的页面和添加的书签推荐您感兴趣的东西。",
--- a/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-CN/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-prerendered.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>新分頁</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>搜尋 Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="搜尋 Web" title="搜尋 Web"/><button id="searchSubmit" class="search-button" title="搜尋"><span class="sr-only"><span>搜尋</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>熱門網站</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推薦</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>熱門主題:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>精選網站</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="自訂您的新分頁頁面"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>搜尋 Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="搜尋 Web" title="搜尋 Web"/><button id="searchSubmit" class="search-button" title="搜尋"><span class="sr-only"><span>搜尋</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>熱門網站</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="編輯此網站"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Pocket 推薦</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>熱門主題:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>精選網站</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>開啟段落內容選單</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="自訂您的新分頁頁面"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream-strings.js
@@ -80,20 +80,32 @@ window.gActivityStreamStrings = {
   "manual_migration_cancel_button": "不必了",
   "manual_migration_import_button": "立即匯入",
   "error_fallback_default_info": "唉唷,載入內容時發生錯誤。",
   "error_fallback_default_refresh_suggestion": "請重新整理頁面再試一次。",
   "section_menu_action_remove_section": "移除段落",
   "section_menu_action_collapse_section": "摺疊段落",
   "section_menu_action_expand_section": "展開段落",
   "section_menu_action_manage_section": "管理段落",
+  "section_menu_action_manage_webext": "Manage Extension",
   "section_menu_action_add_topsite": "新增熱門網站",
   "section_menu_action_move_up": "上移",
   "section_menu_action_move_down": "下移",
   "section_menu_action_privacy_notice": "隱私權公告",
+  "firstrun_title": "Take Firefox with You",
+  "firstrun_content": "Get your bookmarks, history, passwords and other settings on all your devices.",
+  "firstrun_learn_more_link": "Learn more about Firefox Accounts",
+  "firstrun_form_header": "Enter your email",
+  "firstrun_form_sub_header": "to continue to Firefox Sync.",
+  "firstrun_email_input_placeholder": "Email",
+  "firstrun_extra_legal_links": "By proceeding, you agree to the {terms} and {privacy}.",
+  "firstrun_terms_of_service": "Terms of Service",
+  "firstrun_privacy_notice": "Privacy Notice",
+  "firstrun_continue_to_login": "Continue",
+  "firstrun_skip_login": "Skip this step",
   "prefs_restore_defaults_button": "回復為預設值",
   "settings_pane_header": "新分頁偏好設定",
   "settings_pane_body2": "選擇要在此頁面看到哪些東西。",
   "settings_pane_search_header": "搜尋",
   "settings_pane_search_body": "直接在新分頁頁面搜尋網頁。",
   "settings_pane_topsites_body": "前往您最常造訪的網站。",
   "settings_pane_topsites_options_showmore": "顯示兩行",
   "settings_pane_highlights_body2": "快速回到您最近在網站發現的有趣事物,或是剛加入書籤的頁面。",
--- a/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream.html
+++ b/browser/extensions/activity-stream/prerendered/locales/zh-TW/activity-stream.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react.js",
   "resource://activity-stream/vendor/react-dom.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/static/activity-stream-debug.html
+++ b/browser/extensions/activity-stream/prerendered/static/activity-stream-debug.html
@@ -8,23 +8,17 @@
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
     <div id="root"></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react-dev.js",
   "resource://activity-stream/vendor/react-dom-dev.js",
   "resource://activity-stream/vendor/prop-types.js",
   "resource://activity-stream/vendor/react-intl.js",
@@ -34,11 +28,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
+++ b/browser/extensions/activity-stream/prerendered/static/activity-stream-prerendered-debug.html
@@ -4,27 +4,21 @@
     <meta charset="utf-8">
     <meta http-equiv="Content-Security-Policy-Report-Only" content="script-src 'unsafe-inline'; img-src http: https: data: blob:; style-src 'unsafe-inline'; child-src 'none'; object-src 'none'; report-uri https://tiles.services.mozilla.com/v4/links/activity-stream/csp">
     <title>New Tab</title>
     <link rel="icon" type="image/png" href="chrome://branding/content/icon32.png"/>
     <link rel="stylesheet" href="chrome://browser/content/contentSearchUI.css" />
     <link rel="stylesheet" href="resource://activity-stream/css/activity-stream.css" />
   </head>
   <body class="activity-stream">
-    <div id="root"><div class="outer-wrapper fixed-to-top" data-reactroot=""><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div>
+    <div id="root"><div data-reactroot=""><div class="outer-wrapper fixed-to-top"><main><div class="non-collapsible-section"><div class="search-wrapper"><label for="newtab-search-text" class="search-label"><span class="sr-only"><span>Search the Web</span></span></label><input type="search" id="newtab-search-text" maxLength="256" placeholder="Search the Web" title="Search the Web"/><button id="searchSubmit" class="search-button" title="Search"><span class="sr-only"><span>Search</span></span></button></div></div><div class="body-wrapper"><div class="sections-list"><section class="collapsible-section top-sites animation-enabled" data-section-id="topsites"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-topsites"></span><span>Top Sites</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="top-sites-list"><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder "><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li><li class="top-site-outer placeholder hide-for-narrow"><div class="top-site-inner"><a><div class="tile" aria-hidden="true"><div class="screenshot" style="background-image:none"></div></div><div class="title "><span dir="auto"></span></div></a><button class="context-menu-button edit-button icon" title="Edit this site"></button></div></li></ul><div class="edit-topsites-wrapper"></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="topstories"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-pocket"></span><span>Recommended by Pocket</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul><div class="topic"><span><span>Popular Topics:</span></span><ul></ul></div></div></section><section class="collapsible-section section animation-enabled" data-section-id="highlights"><div class="section-top-bar"><h3 class="section-title"><span class="click-target"><span class="icon icon-small-spacer icon-highlights"></span><span>Highlights</span></span></h3><div><button class="context-menu-button icon"><span class="sr-only"><span>Open the section context menu</span></span></button></div></div><div class="section-body"><ul class="section-list" style="padding:0"><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li><li class="card-outer placeholder"><a><div class="card"><div class="card-details no-image"><div class="card-text no-context no-description no-host-name no-image"><h4 class="card-title" dir="auto"></h4><p class="card-description" dir="auto"></p></div><div class="card-context"></div></div></div></a></li></ul></div></section></div><div class="prefs-button"><button class="icon icon-settings" title="Customize your New Tab page"></button></div></div></main></div></div></div>
     <div id="snippets-container">
       <div id="snippets"></div>
     </div>
-    <script>(() => {
-// Clear out any prerendered content if we shouldn't continue loading
-if (top !== window) {
-  document.documentElement.innerHTML = "";
-  return;
-}
-
+    <script>
 // Don't directly load the following scripts as part of html to let the page
 // finish loading to render the content sooner.
 for (const src of [
   "resource://activity-stream/prerendered/static/activity-stream-initial-state.js",
   "chrome://browser/content/contentSearchUI.js",
   "resource://activity-stream/vendor/react-dev.js",
   "resource://activity-stream/vendor/react-dom-dev.js",
   "resource://activity-stream/vendor/prop-types.js",
@@ -35,11 +29,11 @@ for (const src of [
   "resource://activity-stream/data/content/activity-stream.bundle.js"
 ]) {
   // These dynamically inserted scripts by default are async, but we need them
   // to load in the desired order (i.e., bundle last).
   const script = document.body.appendChild(document.createElement("script"));
   script.async = false;
   script.src = src;
 }
-    })();</script>
+    </script>
   </body>
 </html>
--- a/browser/extensions/activity-stream/test/functional/mochitest/browser_highlights_section.js
+++ b/browser/extensions/activity-stream/test/functional/mochitest/browser_highlights_section.js
@@ -43,8 +43,28 @@ test_highlights(
   function check_highlights_context_menu() {
     const menuButton = content.document.querySelector(".card-outer .context-menu-button");
     // Open the menu.
     menuButton.click();
     const found = content.document.querySelector(".card-outer .context-menu");
     ok(found && !found.hidden, "Should find a visible context menu");
   }
 );
+
+test_highlights(
+  1, // Number of highlights cards
+  async function check_highlights_context_menu() {
+    let found = content.document.querySelectorAll(".card-context-icon.icon-bookmark-added").length;
+    is(found, 1, "there should be 1 bookmark icon");
+
+    const menuButton = content.document.querySelector(".card-outer .context-menu-button");
+    // Open the menu.
+    menuButton.click();
+    const contextMenu = content.document.querySelector(".card-outer .context-menu");
+    ok(contextMenu && !contextMenu.hidden, "Should find a visible context menu");
+
+    const removeBookmarkBtn = contextMenu.querySelector("a .icon-bookmark-added");
+    removeBookmarkBtn.click();
+
+    await ContentTaskUtils.waitForCondition(() => content.document.querySelectorAll(".card-context-icon.icon-bookmark-added").length === 0,
+      "no more bookmark cards should be visible");
+  }
+);
--- a/browser/extensions/activity-stream/test/schemas/pings.js
+++ b/browser/extensions/activity-stream/test/schemas/pings.js
@@ -84,17 +84,19 @@ export const UserEventAction = Joi.objec
       "SCREENSHOT_REQUEST",
       "MENU_REMOVE",
       "MENU_COLLAPSE",
       "MENU_EXPAND",
       "MENU_MANAGE",
       "MENU_ADD_TOPSITE",
       "MENU_PRIVACY_NOTICE",
       "DELETE_FROM_POCKET",
-      "ARCHIVE_FROM_POCKET"
+      "ARCHIVE_FROM_POCKET",
+      "SKIPPED_SIGNIN",
+      "SUBMIT_EMAIL"
     ]).required(),
     source: Joi.valid(["TOP_SITES", "TOP_STORIES", "HIGHLIGHTS"]),
     action_position: Joi.number().integer(),
     value: Joi.object().keys({
       icon_type: Joi.valid(["tippytop", "rich_icon", "screenshot_with_icon", "screenshot", "no_image"]),
       card_type: Joi.valid(["bookmark", "trending", "pinned", "pocket"])
     })
   }).required(),
@@ -195,16 +197,27 @@ export const SessionPing = Joi.object().
     // The boolean to signify whether the page is preloaded or not.
     is_preloaded: Joi.bool().required(),
 
     // The boolean to signify whether the page is prerendered or not.
     is_prerendered: Joi.bool().required()
   }).required()
 }));
 
+export const ASRouterEventPing = Joi.object().keys({
+  client_id: Joi.string().required(),
+  action: Joi.string().required(),
+  impression_id: Joi.string().required(),
+  source: Joi.string().required(),
+  addon_version: Joi.string().required(),
+  locale: Joi.string().required(),
+  message_id: Joi.string().required(),
+  event: Joi.string().required()
+});
+
 export const UTSessionPing = Joi.array().items(
   Joi.string().required().valid("activity_stream"),
   Joi.string().required().valid("end"),
   Joi.string().required().valid("session"),
   Joi.string().required(),
   eventsTelemetryExtraKeys
 );
 
--- a/browser/extensions/activity-stream/test/unit/asrouter/ASRouter.test.js
+++ b/browser/extensions/activity-stream/test/unit/asrouter/ASRouter.test.js
@@ -6,16 +6,17 @@ import {
   FAKE_REMOTE_PROVIDER,
   FakeRemotePageManager,
   PARENT_TO_CHILD_MESSAGE_NAME
 } from "./constants";
 import {_ASRouter} from "lib/ASRouter.jsm";
 
 const FAKE_PROVIDERS = [FAKE_LOCAL_PROVIDER, FAKE_REMOTE_PROVIDER];
 const ALL_MESSAGE_IDS = [...FAKE_LOCAL_MESSAGES, ...FAKE_REMOTE_MESSAGES].map(message => message.id);
+const FAKE_BUNDLE = [FAKE_LOCAL_MESSAGES[1], FAKE_LOCAL_MESSAGES[2]];
 
 // Creates a message object that looks like messages returned by
 // RemotePageManager listeners
 function fakeAsyncMessage(action) {
   return {data: action, target: new FakeRemotePageManager()};
 }
 
 describe("ASRouter", () => {
@@ -173,21 +174,33 @@ describe("ASRouter", () => {
 
   describe("#onMessage: CONNECT_UI_REQUEST", () => {
     it("should set state.currentId to a message id", async () => {
       await Router.onMessage(fakeAsyncMessage({type: "CONNECT_UI_REQUEST"}));
 
       assert.include(ALL_MESSAGE_IDS, Router.state.currentId);
     });
     it("should send a message back to the to the target", async () => {
+      // force the only message to be a regular message so getRandomItemFromArray picks it
+      await Router.setState({messages: [{id: "foo", template: "simple_template", content: {title: "Foo", body: "Foo123"}}]});
       const msg = fakeAsyncMessage({type: "CONNECT_UI_REQUEST"});
       await Router.onMessage(msg);
       const [currentMessage] = Router.state.messages.filter(message => message.id === Router.state.currentId);
       assert.calledWith(msg.target.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "SET_MESSAGE", data: currentMessage});
     });
+    it("should send a message back to the to the target if there is a bundle, too", async () => {
+      // force the only message to be a bundled message so getRandomItemFromArray picks it
+      await Router.setState({messages: [{id: "foo1", template: "simple_template", bundled: 2, content: {title: "Foo1", body: "Foo123-1"}}]});
+      const msg = fakeAsyncMessage({type: "CONNECT_UI_REQUEST"});
+      await Router.onMessage(msg);
+      const [currentMessage] = Router.state.messages.filter(message => message.id === Router.state.currentId);
+      assert.calledWith(msg.target.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME);
+      assert.equal(msg.target.sendAsyncMessage.firstCall.args[1].type, "SET_BUNDLED_MESSAGES");
+      assert.equal(msg.target.sendAsyncMessage.firstCall.args[1].data.bundle[0].content, currentMessage.content);
+    });
     it("should send a CLEAR_MESSAGE message and set state.currentId to null if no messages are available", async () => {
       await Router.setState({messages: []});
       const msg = fakeAsyncMessage({type: "CONNECT_UI_REQUEST"});
       await Router.onMessage(msg);
 
       assert.isNull(Router.state.currentId);
       assert.calledWith(msg.target.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "CLEAR_MESSAGE"});
     });
@@ -202,32 +215,65 @@ describe("ASRouter", () => {
       assert.isTrue(Router.state.blockList.includes("foo"));
       assert.isNull(Router.state.currentId);
       assert.calledWith(msg.target.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "CLEAR_MESSAGE"});
       assert.calledOnce(Router._storage.set);
       assert.calledWithExactly(Router._storage.set, "blockList", ["foo"]);
     });
   });
 
+  describe("#onMessage: BLOCK_BUNDLE", () => {
+    it("should add all the ids in the bundle to the blockList, state.currentId to null, and send a CLEAR_MESSAGE message", async () => {
+      await Router.setState({currentId: "foo"});
+      const msg = fakeAsyncMessage({type: "BLOCK_BUNDLE", data: {bundle: FAKE_BUNDLE}});
+      await Router.onMessage(msg);
+
+      assert.isTrue(Router.state.blockList.includes(FAKE_BUNDLE[0].id));
+      assert.isTrue(Router.state.blockList.includes(FAKE_BUNDLE[1].id));
+      assert.isNull(Router.state.currentId);
+      assert.calledWith(msg.target.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "CLEAR_MESSAGE"});
+      assert.calledOnce(Router._storage.set);
+      assert.calledWithExactly(Router._storage.set, "blockList", [FAKE_BUNDLE[0].id, FAKE_BUNDLE[1].id]);
+    });
+  });
+
   describe("#onMessage: UNBLOCK_MESSAGE_BY_ID", () => {
     it("should remove the id from the blockList", async () => {
       await Router.onMessage(fakeAsyncMessage({type: "BLOCK_MESSAGE_BY_ID", data: {id: "foo"}}));
       assert.isTrue(Router.state.blockList.includes("foo"));
       await Router.onMessage(fakeAsyncMessage({type: "UNBLOCK_MESSAGE_BY_ID", data: {id: "foo"}}));
 
       assert.isFalse(Router.state.blockList.includes("foo"));
     });
     it("should save the blockList", async () => {
       await Router.onMessage(fakeAsyncMessage({type: "UNBLOCK_MESSAGE_BY_ID", data: {id: "foo"}}));
 
       assert.calledOnce(Router._storage.set);
       assert.calledWithExactly(Router._storage.set, "blockList", []);
     });
   });
 
+  describe("#onMessage: UNBLOCK_BUNDLE", () => {
+    it("should remove all the ids in the bundle from the blockList", async () => {
+      await Router.onMessage(fakeAsyncMessage({type: "BLOCK_BUNDLE", data: {bundle: FAKE_BUNDLE}}));
+      assert.isTrue(Router.state.blockList.includes(FAKE_BUNDLE[0].id));
+      assert.isTrue(Router.state.blockList.includes(FAKE_BUNDLE[1].id));
+      await Router.onMessage(fakeAsyncMessage({type: "UNBLOCK_BUNDLE", data: {bundle: FAKE_BUNDLE}}));
+
+      assert.isFalse(Router.state.blockList.includes(FAKE_BUNDLE[0].id));
+      assert.isFalse(Router.state.blockList.includes(FAKE_BUNDLE[1].id));
+    });
+    it("should save the blockList", async () => {
+      await Router.onMessage(fakeAsyncMessage({type: "UNBLOCK_BUNDLE", data: {bundle: FAKE_BUNDLE}}));
+
+      assert.calledOnce(Router._storage.set);
+      assert.calledWithExactly(Router._storage.set, "blockList", []);
+    });
+  });
+
   describe("#onMessage: ADMIN_CONNECT_STATE", () => {
     it("should send a message containing the whole state", async () => {
       const msg = fakeAsyncMessage({type: "ADMIN_CONNECT_STATE"});
       await Router.onMessage(msg);
 
       assert.calledWith(msg.target.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "ADMIN_SET_STATE", data: Router.state});
     });
   });
@@ -246,20 +292,85 @@ describe("ASRouter", () => {
       sandbox.stub(Router, "sendNextMessage").resolves();
       const msg = fakeAsyncMessage({type: "GET_NEXT_MESSAGE"});
 
       await Router.onMessage(msg);
 
       assert.calledOnce(Router.sendNextMessage);
       assert.calledWithExactly(Router.sendNextMessage, sinon.match.instanceOf(FakeRemotePageManager));
     });
+    it("should call _getBundledMessages if we request a message that needs to be bundled", async () => {
+      sandbox.stub(Router, "_getBundledMessages");
+      // forcefully pick a message which needs to be bundled (the second message in FAKE_LOCAL_MESSAGES)
+      const [, testMessage] = Router.state.messages;
+      const msg = fakeAsyncMessage({type: "OVERRIDE_MESSAGE", data: {id: testMessage.id}});
+      await Router.onMessage(msg);
+
+      assert.calledOnce(Router._getBundledMessages);
+    });
+    it("should properly pick another message of the same template if it is bundled", async () => {
+      Router.sendMessage = sinon.spy();
+      // forcefully pick a message which needs to be bundled (the second message in FAKE_LOCAL_MESSAGES)
+      const [, testMessage1, testMessage2] = Router.state.messages;
+      const msg = fakeAsyncMessage({type: "OVERRIDE_MESSAGE", data: {id: testMessage1.id}});
+      await Router.onMessage(msg);
+
+      // Expected object should have some properties of the original message it picked (testMessage1)
+      // plus the bundled content of the others that it picked of the same template (testMessage2)
+      const expectedObj = {
+        template: testMessage1.template,
+        provider: testMessage1.provider,
+        bundle: [{content: testMessage1.content, id: testMessage1.id}, {content: testMessage2.content, id: testMessage2.id}]
+      };
+      assert.calledWith(channel.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "SET_BUNDLED_MESSAGES", data: expectedObj});
+    });
+    it("should get the bundle and send the message if the message has a bundle", async () => {
+      sandbox.stub(Router, "sendNextMessage").resolves();
+      const msg = fakeAsyncMessage({type: "GET_NEXT_MESSAGE"});
+      msg.bundled = 2; // force this message to want to be bundled
+      await Router.onMessage(msg);
+      assert.calledOnce(Router.sendNextMessage);
+    });
   });
 
   describe("#onMessage: OVERRIDE_MESSAGE", () => {
     it("should broadcast a SET_MESSAGE message to all clients with a particular id", async () => {
       const [testMessage] = Router.state.messages;
       const msg = fakeAsyncMessage({type: "OVERRIDE_MESSAGE", data: {id: testMessage.id}});
       await Router.onMessage(msg);
 
       assert.calledWith(channel.sendAsyncMessage, PARENT_TO_CHILD_MESSAGE_NAME, {type: "SET_MESSAGE", data: testMessage});
     });
   });
+
+  describe("#onMessage: Onboarding actions", () => {
+    it("should call openLinkIn with the correct params on OPEN_PRIVATE_BROWSER_WINDOW", async () => {
+      sinon.spy(Router, "openLinkIn");
+      let [testMessage] = Router.state.messages;
+      testMessage.button_action_params = "about:home";
+      const msg = fakeAsyncMessage({type: "OPEN_PRIVATE_BROWSER_WINDOW", data: testMessage});
+      await Router.onMessage(msg);
+
+      assert.calledWith(Router.openLinkIn, testMessage.button_action_params, msg.target, {isPrivate: true, where: "window"});
+      assert.calledOnce(msg.target.browser.ownerGlobal.openLinkIn);
+    });
+    it("should call openLinkIn with the correct params on OPEN_URL", async () => {
+      sinon.spy(Router, "openLinkIn");
+      let [testMessage] = Router.state.messages;
+      testMessage.button_action_params = "some/url.com";
+      const msg = fakeAsyncMessage({type: "OPEN_URL", data: testMessage});
+      await Router.onMessage(msg);
+
+      assert.calledWith(Router.openLinkIn, testMessage.button_action_params, msg.target, {isPrivate: false, where: "tabshifted"});
+      assert.calledOnce(msg.target.browser.ownerGlobal.openLinkIn);
+    });
+    it("should call openLinkIn with the correct params on OPEN_ABOUT_PAGE", async () => {
+      sinon.spy(Router, "openLinkIn");
+      let [testMessage] = Router.state.messages;
+      testMessage.button_action_params = "something";
+      const msg = fakeAsyncMessage({type: "OPEN_ABOUT_PAGE", data: testMessage});
+      await Router.onMessage(msg);
+
+      assert.calledWith(Router.openLinkIn, `about:${testMessage.button_action_params}`, msg.target, {isPrivate: false, trusted: true, where: "tab"});
+      assert.calledOnce(msg.target.browser.ownerGlobal.openTrustedLinkIn);
+    });
+  });
 });
--- a/browser/extensions/activity-stream/test/unit/asrouter/asrouter-content.test.jsx
+++ b/browser/extensions/activity-stream/test/unit/asrouter/asrouter-content.test.jsx
@@ -2,16 +2,17 @@ import {ASRouterUISurface, ASRouterUtils
 import {OUTGOING_MESSAGE_NAME as AS_GENERAL_OUTGOING_MESSAGE_NAME} from "content-src/lib/init-store";
 import {FAKE_LOCAL_MESSAGES} from "./constants";
 import {GlobalOverrider} from "test/unit/utils";
 import {mount} from "enzyme";
 import React from "react";
 let [FAKE_MESSAGE] = FAKE_LOCAL_MESSAGES;
 
 FAKE_MESSAGE = Object.assign({}, FAKE_MESSAGE, {provider: "fakeprovider"});
+const FAKE_BUNDLED_MESSAGE = {bundle: [{id: "foo", template: "onboarding", content: {title: "Foo", body: "Foo123"}}], template: "onboarding"};
 
 describe("ASRouterUtils", () => {
   let global;
   let sandbox;
   let fakeSendAsyncMessage;
   beforeEach(() => {
     global = new GlobalOverrider();
     sandbox = sinon.sandbox.create();
@@ -75,17 +76,21 @@ describe("ASRouterUISurface", () => {
 
   afterEach(() => {
     sandbox.restore();
     global.restore();
   });
 
   it("should render the component if a message id is defined", () => {
     wrapper.setState({message: FAKE_MESSAGE});
+    assert.isTrue(wrapper.exists());
+  });
 
+  it("should render the component if a bundle of messages is defined", () => {
+    wrapper.setState({bundle: FAKE_BUNDLED_MESSAGE});
     assert.isTrue(wrapper.exists());
   });
 
   describe("impressions", () => {
     function simulateVisibilityChange(value) {
       fakeDocument.visibilityState = value;
     }
 
--- a/browser/extensions/activity-stream/test/unit/asrouter/constants.js
+++ b/browser/extensions/activity-stream/test/unit/asrouter/constants.js
@@ -1,24 +1,32 @@
 export const CHILD_TO_PARENT_MESSAGE_NAME = "ASRouter:child-to-parent";
 export const PARENT_TO_CHILD_MESSAGE_NAME = "ASRouter:parent-to-child";
 export const EXPERIMENT_PREF = "asrouterExperimentEnabled";
 
 export const FAKE_LOCAL_MESSAGES = [
   {id: "foo", template: "simple_template", content: {title: "Foo", body: "Foo123"}},
+  {id: "foo1", template: "simple_template", bundled: 2, content: {title: "Foo1", body: "Foo123-1"}},
+  {id: "foo2", template: "simple_template", bundled: 2, content: {title: "Foo2", body: "Foo123-2"}},
   {id: "bar", template: "fancy_template", content: {title: "Foo", body: "Foo123"}},
   {id: "baz", content: {title: "Foo", body: "Foo123"}}
 ];
 export const FAKE_LOCAL_PROVIDER = {id: "onboarding", type: "local", messages: FAKE_LOCAL_MESSAGES};
 
 export const FAKE_REMOTE_MESSAGES = [
   {id: "qux", template: "simple_template", content: {title: "Qux", body: "hello world"}}
 ];
 export const FAKE_REMOTE_PROVIDER = {id: "remotey", type: "remote", url: "http://fake.com/endpoint"};
 
 // Stubs methods on RemotePageManager
 export class FakeRemotePageManager {
   constructor() {
     this.addMessageListener = sinon.stub();
     this.sendAsyncMessage = sinon.stub();
     this.removeMessageListener = sinon.stub();
+    this.browser = {
+      ownerGlobal: {
+        openTrustedLinkIn: sinon.stub(),
+        openLinkIn: sinon.stub()
+      }
+    };
   }
 }
new file mode 100644
--- /dev/null
+++ b/browser/extensions/activity-stream/test/unit/asrouter/templates/SimpleSnippet.test.jsx
@@ -0,0 +1,54 @@
+import {mount} from "enzyme";
+import React from "react";
+import schema from "content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.schema.json";
+import {SimpleSnippet} from "content-src/asrouter/templates/SimpleSnippet/SimpleSnippet.jsx";
+
+const DEFAULT_CONTENT = {text: "foo"};
+
+/**
+ * mountAndCheckProps - Mounts a SimpleSnippet with DEFAULT_CONTENT extended with any props
+ *                      passed in the content param and validates props against the schema.
+ * @param {obj} content Object containing custom message content (e.g. {text, icon, title})
+ * @returns enzyme wrapper for SimpleSnippet
+ */
+function mountAndCheckProps(content = {}) {
+  const props = {content: Object.assign({}, DEFAULT_CONTENT, content)};
+  assert.jsonSchema(props.content, schema);
+  return mount(<SimpleSnippet {...props} />);
+}
+
+describe("SimpleSnippet", () => {
+  it("should render .text", () => {
+    const wrapper = mountAndCheckProps({text: "bar"});
+    assert.equal(wrapper.find(".body").text(), "bar");
+  });
+  it("should not render title element if no .title prop is supplied", () => {
+    const wrapper = mountAndCheckProps();
+    assert.lengthOf(wrapper.find(".title"), 0);
+  });
+  it("should render .title", () => {
+    const wrapper = mountAndCheckProps({title: "Foo"});
+    assert.equal(wrapper.find(".title").text(), "Foo");
+  });
+  it("should render .icon", () => {
+    const wrapper = mountAndCheckProps({icon: "data:image/gif;base64,R0lGODl"});
+    assert.equal(wrapper.find(".icon").prop("src"), "data:image/gif;base64,R0lGODl");
+  });
+  it("should render .button_url and .button_label", () => {
+    const wrapper = mountAndCheckProps({button_label: "Click here", button_url: "http://foo.com"});
+    const button = wrapper.find("a");
+    assert.equal(button.text(), "Click here");
+    assert.equal(button.prop("href"), "http://foo.com");
+  });
+  it("should render .button_url and .button_label", () => {
+    const wrapper = mountAndCheckProps({button_label: "Click here", button_url: "http://foo.com"});
+    const button = wrapper.find("a");
+    assert.equal(button.text(), "Click here");
+    assert.equal(button.prop("href"), "http://foo.com");
+  });
+  it("should render button with an ASRouterAnchor class if .button_type is anchor", () => {
+    const wrapper = mountAndCheckProps({button_label: "Click here", button_url: "http://foo.com", button_type: "anchor"});
+    const button = wrapper.find("a");
+    assert.equal(button.prop("className"), "ASRouterAnchor");
+  });
+});
--- a/browser/extensions/activity-stream/test/unit/lib/AboutPreferences.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/AboutPreferences.test.js
@@ -35,16 +35,24 @@ describe("AboutPreferences Feed", () => 
 
       assert.calledOnce(stub);
     });
     it("should call .openPreferences on SETTINGS_OPEN", () => {
       const action = {type: at.SETTINGS_OPEN, _target: {browser: {ownerGlobal: {openPreferences: sinon.spy()}}}};
       instance.onAction(action);
       assert.calledOnce(action._target.browser.ownerGlobal.openPreferences);
     });
+    it("should call .BrowserOpenAddonsMgr with the extension id on OPEN_WEBEXT_SETTINGS", () => {
+      const action = {type: at.OPEN_WEBEXT_SETTINGS, data: "foo", _target: {browser: {ownerGlobal: {BrowserOpenAddonsMgr: sinon.spy()}}}};
+      instance.onAction(action);
+      assert.calledWith(
+        action._target.browser.ownerGlobal.BrowserOpenAddonsMgr,
+        "addons://detail/foo"
+      );
+    });
   });
   describe("#observe", () => {
     it("should watch for about:preferences loading", () => {
       sandbox.stub(Services.obs, "addObserver");
 
       instance.init();
 
       assert.calledOnce(Services.obs.addObserver);
--- a/browser/extensions/activity-stream/test/unit/lib/SnippetsFeed.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/SnippetsFeed.test.js
@@ -191,20 +191,20 @@ describe("SnippetsFeed", () => {
   it("should open Firefox Accounts", async () => {
     const feed = new SnippetsFeed();
     const browser = {loadURI: sinon.spy()};
     await feed.showFirefoxAccounts(browser);
     assert.calledWith(browser.loadURI, signUpUrl);
   });
   it("should call .getTotalBookmarksCount when TOTAL_BOOKMARKS_REQUEST is received", async () => {
     const feed = new SnippetsFeed();
-    const browser = {};
+    const portId = "1234";
     sandbox.spy(feed, "getTotalBookmarksCount");
-    feed.onAction({type: at.TOTAL_BOOKMARKS_REQUEST, _target: {browser}});
-    assert.calledWith(feed.getTotalBookmarksCount, browser);
+    feed.onAction({type: at.TOTAL_BOOKMARKS_REQUEST, meta: {fromTarget: portId}});
+    assert.calledWith(feed.getTotalBookmarksCount, portId);
   });
   it("should dispatch a TOTAL_BOOKMARKS_RESPONSE action when .getTotalBookmarksCount is called", async () => {
     const feed = new SnippetsFeed();
     feed.store = {dispatch: sandbox.stub()};
     const browser = {};
     const action = {type: at.TOTAL_BOOKMARKS_RESPONSE, data: 42};
 
     await feed.getTotalBookmarksCount(browser);
--- a/browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
+++ b/browser/extensions/activity-stream/test/unit/lib/TelemetryFeed.test.js
@@ -1,11 +1,12 @@
 /* global Services */
 import {actionCreators as ac, actionTypes as at} from "common/Actions.jsm";
 import {
+  ASRouterEventPing,
   BasePing,
   ImpressionStatsPing,
   PerfPing,
   SessionPing,
   UndesiredPing,
   UserEventPing
 } from "test/schemas/pings";
 import {FakePrefs, GlobalOverrider} from "test/unit/utils";
@@ -469,22 +470,27 @@ describe("TelemetryFeed", () => {
 
       assert.validate(ping, ImpressionStatsPing);
       assert.propertyVal(ping, "pocket", 0);
       assert.propertyVal(ping, "tiles", tiles);
     });
   });
   describe("#createASRouterEvent", () => {
     it("should create a valid AS Router event", async () => {
-      const data = {source: "SNIPPETS", event: "CLICK"};
+      const data = {
+        action: "snippet_user_event",
+        source: "SNIPPETS",
+        event: "CLICK",
+        message_id: "snippets_message_01"
+      };
       const action = ac.ASRouterUserEvent(data);
       const ping = await instance.createASRouterEvent(action);
 
-      // TODO check the payload with the Joi schema
-
+      assert.validate(ping, ASRouterEventPing);
+      assert.propertyVal(ping, "client_id", "n/a");
       assert.propertyVal(ping, "source", "SNIPPETS");
       assert.propertyVal(ping, "event", "CLICK");
     });
   });
   describe("#sendEvent", () => {
     it("should call PingCentre", async () => {
       FakePrefs.prototype.prefs.telemetry = true;
       const event = {};
--- a/browser/extensions/activity-stream/test/unit/unit-entry.js
+++ b/browser/extensions/activity-stream/test/unit/unit-entry.js
@@ -1,11 +1,12 @@
 import {EventEmitter, FakePerformance, FakePrefs, GlobalOverrider} from "test/unit/utils";
 import Adapter from "enzyme-adapter-react-16";
 import {chaiAssertions} from "test/schemas/pings";
+import chaiJsonSchema from "chai-json-schema";
 import enzyme from "enzyme";
 enzyme.configure({adapter: new Adapter()});
 
 class DownloadElementShell {
   downloadsCmd_open() {}
   downloadsCmd_show() {}
   downloadsCmd_openReferrer() {}
   downloadsCmd_delete() {}
@@ -26,16 +27,17 @@ console.error = function(msg, ...args) {
 
 const req = require.context(".", true, /\.test\.jsx?$/);
 const files = req.keys();
 
 // This exposes sinon assertions to chai.assert
 sinon.assert.expose(assert, {prefix: ""});
 
 chai.use(chaiAssertions);
+chai.use(chaiJsonSchema);
 
 const overrider = new GlobalOverrider();
 const TEST_GLOBAL = {
   AddonManager: {
     getActiveAddons() {
       return Promise.resolve({addons: [], fullData: false});
     }
   },