diff --git a/.babel.json b/.babel.json new file mode 100644 index 00000000000..8e3046da6dc --- /dev/null +++ b/.babel.json @@ -0,0 +1,2136 @@ +{ + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/ajaxpreviewtests.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "react", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "React" + } + ] + }, + { + "source": "mocha-jsdom", + "imported": [ + "default", + "rerequire" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJsdom" + }, + { + "kind": "named", + "imported": "rerequire", + "local": "rerequire" + } + ] + }, + { + "source": "chai", + "imported": [ + "expect" + ], + "specifiers": [ + { + "kind": "named", + "imported": "expect", + "local": "expect" + } + ] + }, + { + "source": "sinon", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "sinon" + } + ] + }, + { + "source": "./fixtures/mochaGettext.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaGettext" + } + ] + }, + { + "source": "./fixtures/mochaK.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaK" + } + ] + }, + { + "source": "./fixtures/mochaJquery.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJquery" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _mochaJsdom = require('mocha-jsdom');\n\nvar _mochaJsdom2 = _interopRequireDefault(_mochaJsdom);\n\nvar _chai = require('chai');\n\nvar _sinon = require('sinon');\n\nvar _sinon2 = _interopRequireDefault(_sinon);\n\nvar _fixturesMochaGettextJs = require('./fixtures/mochaGettext.js');\n\nvar _fixturesMochaGettextJs2 = _interopRequireDefault(_fixturesMochaGettextJs);\n\nvar _fixturesMochaKJs = require('./fixtures/mochaK.js');\n\nvar _fixturesMochaKJs2 = _interopRequireDefault(_fixturesMochaKJs);\n\nvar _fixturesMochaJqueryJs = require('./fixtures/mochaJquery.js');\n\nvar _fixturesMochaJqueryJs2 = _interopRequireDefault(_fixturesMochaJqueryJs);\n\ndescribe('ajax preview', function () {\n (0, _mochaJsdom2['default'])({ useEach: true });\n (0, _fixturesMochaJqueryJs2['default'])();\n (0, _fixturesMochaKJs2['default'])();\n (0, _fixturesMochaGettextJs2['default'])();\n /* globals window, $, k */\n\n var fakeServer;\n\n describe('events', function () {\n\n beforeEach(function () {\n (0, _mochaJsdom.rerequire)('../ajaxpreview.js');\n (0, _mochaJsdom.rerequire)('../libs/jquery.lazyload.js');\n\n _sinon2['default'].stub($, 'ajax').yieldsTo('success', '
The content to preview.
');\n\n var sandbox = _react2['default'].createElement(\n 'div',\n null,\n _react2['default'].createElement(\n 'form',\n { action: '', method: 'post' },\n _react2['default'].createElement('input', { type: 'hidden', name: 'csrfmiddlewaretoken', defaultValue: 'tokenvalue' }),\n _react2['default'].createElement('textarea', { id: 'id_content', name: 'content', defaultValue: 'The content to preview.' }),\n _react2['default'].createElement('input', { type: 'submit', id: 'preview', name: 'preview', defaultValue: 'Preview',\n 'data-preview-url': '/preview',\n 'data-preview-container-id': 'preview-container',\n 'data-preview-content-id': 'id_content' })\n ),\n _react2['default'].createElement('div', { id: 'preview-container' })\n );\n _react2['default'].render(sandbox, window.document.body);\n });\n\n afterEach(function () {\n $.ajax.restore();\n _react2['default'].unmountComponentAtNode(window.document.body);\n });\n\n // This test is mainly about testing the test framework.\n it('should have a jquery', function () {\n (0, _chai.expect)($('body').length).to.equal(1);\n });\n\n it('should fire \"show-preview\" event', function (done) {\n var ajaxPreview = new k.AjaxPreview($('#preview'));\n $(ajaxPreview).bind('show-preview', function (e, success, content) {\n (0, _chai.expect)(success).to.equal(true);\n (0, _chai.expect)(content).to.equal('The content to preview.
');\n done();\n });\n $(ajaxPreview).trigger('get-preview');\n });\n\n it('should fire \"done\" event', function (done) {\n var ajaxPreview = new k.AjaxPreview($('#preview'));\n $(ajaxPreview).bind('done', function (e, success) {\n (0, _chai.expect)(success).to.equal(true);\n done();\n });\n $(ajaxPreview).trigger('get-preview');\n });\n\n it('should show the preview', function (done) {\n var ajaxPreview = new k.AjaxPreview($('#preview'));\n $(ajaxPreview).bind('done', function (e, success) {\n (0, _chai.expect)($('#preview-container').html()).to.equal('The content to preview.
');\n done();\n });\n $('#preview').click();\n });\n });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2FqYXhwcmV2aWV3dGVzdHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBa0IsT0FBTzs7OzswQkFDc0IsYUFBYTs7OztvQkFDdkMsTUFBTTs7cUJBQ1QsT0FBTzs7OztzQ0FFQSw0QkFBNEI7Ozs7Z0NBQ2xDLHNCQUFzQjs7OztxQ0FDakIsMkJBQTJCOzs7O0FBRW5ELFFBQVEsQ0FBQyxjQUFjLEVBQUUsWUFBTTtBQUM3QiwrQkFBVyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0FBQzVCLDJDQUFhLENBQUM7QUFDZCxzQ0FBUSxDQUFDO0FBQ1QsNENBQWMsQ0FBQzs7O0FBR2YsTUFBSSxVQUFVLENBQUM7O0FBRWYsVUFBUSxDQUFDLFFBQVEsRUFBRSxZQUFNOztBQUV2QixjQUFVLENBQUMsWUFBTTtBQUNmLGlDQUFVLG1CQUFtQixDQUFDLENBQUM7QUFDL0IsaUNBQVUsNEJBQTRCLENBQUMsQ0FBQzs7QUFFeEMseUJBQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLGdDQUFnQyxDQUFDLENBQUM7O0FBRTVFLFVBQUksT0FBTyxHQUNUOzs7UUFDRTs7WUFBTSxNQUFNLEVBQUMsRUFBRSxFQUFDLE1BQU0sRUFBQyxNQUFNO1VBQzNCLDRDQUFPLElBQUksRUFBQyxRQUFRLEVBQUMsSUFBSSxFQUFDLHFCQUFxQixFQUFDLFlBQVksRUFBQyxZQUFZLEdBQUc7VUFDNUUsK0NBQVUsRUFBRSxFQUFDLFlBQVksRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyx5QkFBeUIsR0FBRTtVQUNqRiw0Q0FBTyxJQUFJLEVBQUMsUUFBUSxFQUFDLEVBQUUsRUFBQyxTQUFTLEVBQUMsSUFBSSxFQUFDLFNBQVMsRUFBQyxZQUFZLEVBQUMsU0FBUztBQUNyRSxnQ0FBaUIsVUFBVTtBQUMzQix5Q0FBMEIsbUJBQW1CO0FBQzdDLHVDQUF3QixZQUFZLEdBQUc7U0FDcEM7UUFDUCwwQ0FBSyxFQUFFLEVBQUMsbUJBQW1CLEdBQU87T0FDOUIsQUFDUCxDQUFDO0FBQ0YseUJBQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQzdDLENBQUMsQ0FBQzs7QUFFSCxhQUFTLENBQUMsWUFBTTtBQUNkLE9BQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7QUFDakIseUJBQU0sc0JBQXNCLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUNwRCxDQUFDLENBQUM7OztBQUdILE1BQUUsQ0FBQyxzQkFBc0IsRUFBRSxZQUFNO0FBQy9CLHdCQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ3RDLENBQUMsQ0FBQzs7QUFFSCxNQUFFLENBQUMsa0NBQWtDLEVBQUUsVUFBQSxJQUFJLEVBQUk7QUFDN0MsVUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ25ELE9BQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLFVBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUs7QUFDM0QsMEJBQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQiwwQkFBTyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLGdDQUFnQyxDQUFDLENBQUM7QUFDM0QsWUFBSSxFQUFFLENBQUM7T0FDUixDQUFDLENBQUM7QUFDSCxPQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDO0tBQ3ZDLENBQUMsQ0FBQzs7QUFFSCxNQUFFLENBQUMsMEJBQTBCLEVBQUUsVUFBQSxJQUFJLEVBQUk7QUFDckMsVUFBSSxXQUFXLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0FBQ25ELE9BQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFVBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBSztBQUMxQywwQkFBTyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQy9CLFlBQUksRUFBRSxDQUFDO09BQ1IsQ0FBQyxDQUFDO0FBQ0gsT0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUN2QyxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLHlCQUF5QixFQUFFLFVBQUEsSUFBSSxFQUFJO0FBQ3BDLFVBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztBQUNuRCxPQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxVQUFDLENBQUMsRUFBRSxPQUFPLEVBQUs7QUFDMUMsMEJBQU8sQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FDbkMsRUFBRSxDQUFDLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDO0FBQzlDLFlBQUksRUFBRSxDQUFDO09BQ1IsQ0FBQyxDQUFDO0FBQ0gsT0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3ZCLENBQUMsQ0FBQztHQUNKLENBQUMsQ0FBQztDQUNKLENBQUMsQ0FBQyIsImZpbGUiOiIvYXBwL2tpdHN1bmUvc3Vtby9zdGF0aWMvc3Vtby9qcy90ZXN0cy9hamF4cHJldmlld3Rlc3RzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZGVmYXVsdCBhcyBtb2NoYUpzZG9tLCByZXJlcXVpcmV9IGZyb20gJ21vY2hhLWpzZG9tJztcbmltcG9ydCB7ZXhwZWN0fSBmcm9tICdjaGFpJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5cbmltcG9ydCBtb2NoYUdldHRleHQgZnJvbSAnLi9maXh0dXJlcy9tb2NoYUdldHRleHQuanMnO1xuaW1wb3J0IG1vY2hhSyBmcm9tICcuL2ZpeHR1cmVzL21vY2hhSy5qcyc7XG5pbXBvcnQgbW9jaGFKcXVlcnkgZnJvbSAnLi9maXh0dXJlcy9tb2NoYUpxdWVyeS5qcyc7XG5cbmRlc2NyaWJlKCdhamF4IHByZXZpZXcnLCAoKSA9PiB7XG4gIG1vY2hhSnNkb20oe3VzZUVhY2g6IHRydWV9KTtcbiAgbW9jaGFKcXVlcnkoKTtcbiAgbW9jaGFLKCk7XG4gIG1vY2hhR2V0dGV4dCgpO1xuICAvKiBnbG9iYWxzIHdpbmRvdywgJCwgayAqL1xuXG4gIHZhciBmYWtlU2VydmVyO1xuXG4gIGRlc2NyaWJlKCdldmVudHMnLCAoKSA9PiB7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIHJlcmVxdWlyZSgnLi4vYWpheHByZXZpZXcuanMnKTtcbiAgICAgIHJlcmVxdWlyZSgnLi4vbGlicy9qcXVlcnkubGF6eWxvYWQuanMnKTtcblxuICAgICAgc2lub24uc3R1YigkLCAnYWpheCcpLnlpZWxkc1RvKCdzdWNjZXNzJywgJzxwPlRoZSBjb250ZW50IHRvIHByZXZpZXcuPC9wPicpO1xuXG4gICAgICBsZXQgc2FuZGJveCA9IChcbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8Zm9ybSBhY3Rpb249XCJcIiBtZXRob2Q9XCJwb3N0XCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJjc3JmbWlkZGxld2FyZXRva2VuXCIgZGVmYXVsdFZhbHVlPVwidG9rZW52YWx1ZVwiIC8+XG4gICAgICAgICAgICA8dGV4dGFyZWEgaWQ9XCJpZF9jb250ZW50XCIgbmFtZT1cImNvbnRlbnRcIiBkZWZhdWx0VmFsdWU9XCJUaGUgY29udGVudCB0byBwcmV2aWV3LlwiLz5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwic3VibWl0XCIgaWQ9XCJwcmV2aWV3XCIgbmFtZT1cInByZXZpZXdcIiBkZWZhdWx0VmFsdWU9XCJQcmV2aWV3XCJcbiAgICAgICAgICAgICAgZGF0YS1wcmV2aWV3LXVybD1cIi9wcmV2aWV3XCJcbiAgICAgICAgICAgICAgZGF0YS1wcmV2aWV3LWNvbnRhaW5lci1pZD1cInByZXZpZXctY29udGFpbmVyXCJcbiAgICAgICAgICAgICAgZGF0YS1wcmV2aWV3LWNvbnRlbnQtaWQ9XCJpZF9jb250ZW50XCIgLz5cbiAgICAgICAgICA8L2Zvcm0+XG4gICAgICAgICAgPGRpdiBpZD1cInByZXZpZXctY29udGFpbmVyXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICAgIFJlYWN0LnJlbmRlcihzYW5kYm94LCB3aW5kb3cuZG9jdW1lbnQuYm9keSk7XG4gICAgfSk7XG5cbiAgICBhZnRlckVhY2goKCkgPT4ge1xuICAgICAgJC5hamF4LnJlc3RvcmUoKTtcbiAgICAgIFJlYWN0LnVubW91bnRDb21wb25lbnRBdE5vZGUod2luZG93LmRvY3VtZW50LmJvZHkpO1xuICAgIH0pO1xuXG4gICAgLy8gVGhpcyB0ZXN0IGlzIG1haW5seSBhYm91dCB0ZXN0aW5nIHRoZSB0ZXN0IGZyYW1ld29yay5cbiAgICBpdCgnc2hvdWxkIGhhdmUgYSBqcXVlcnknLCAoKSA9PiB7XG4gICAgICBleHBlY3QoJCgnYm9keScpLmxlbmd0aCkudG8uZXF1YWwoMSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZpcmUgXCJzaG93LXByZXZpZXdcIiBldmVudCcsIGRvbmUgPT4ge1xuICAgICAgbGV0IGFqYXhQcmV2aWV3ID0gbmV3IGsuQWpheFByZXZpZXcoJCgnI3ByZXZpZXcnKSk7XG4gICAgICAkKGFqYXhQcmV2aWV3KS5iaW5kKCdzaG93LXByZXZpZXcnLCAoZSwgc3VjY2VzcywgY29udGVudCkgPT4ge1xuICAgICAgICBleHBlY3Qoc3VjY2VzcykudG8uZXF1YWwodHJ1ZSk7XG4gICAgICAgIGV4cGVjdChjb250ZW50KS50by5lcXVhbCgnPHA+VGhlIGNvbnRlbnQgdG8gcHJldmlldy48L3A+Jyk7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgIH0pO1xuICAgICAgJChhamF4UHJldmlldykudHJpZ2dlcignZ2V0LXByZXZpZXcnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmlyZSBcImRvbmVcIiBldmVudCcsIGRvbmUgPT4ge1xuICAgICAgbGV0IGFqYXhQcmV2aWV3ID0gbmV3IGsuQWpheFByZXZpZXcoJCgnI3ByZXZpZXcnKSk7XG4gICAgICAkKGFqYXhQcmV2aWV3KS5iaW5kKCdkb25lJywgKGUsIHN1Y2Nlc3MpID0+IHtcbiAgICAgICAgZXhwZWN0KHN1Y2Nlc3MpLnRvLmVxdWFsKHRydWUpO1xuICAgICAgICBkb25lKCk7XG4gICAgICB9KTtcbiAgICAgICQoYWpheFByZXZpZXcpLnRyaWdnZXIoJ2dldC1wcmV2aWV3Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHNob3cgdGhlIHByZXZpZXcnLCBkb25lID0+IHtcbiAgICAgIGxldCBhamF4UHJldmlldyA9IG5ldyBrLkFqYXhQcmV2aWV3KCQoJyNwcmV2aWV3JykpO1xuICAgICAgJChhamF4UHJldmlldykuYmluZCgnZG9uZScsIChlLCBzdWNjZXNzKSA9PiB7XG4gICAgICAgIGV4cGVjdCgkKCcjcHJldmlldy1jb250YWluZXInKS5odG1sKCkpXG4gICAgICAgICAgLnRvLmVxdWFsKCc8cD5UaGUgY29udGVudCB0byBwcmV2aWV3LjwvcD4nKTtcbiAgICAgICAgZG9uZSgpO1xuICAgICAgfSk7XG4gICAgICAkKCcjcHJldmlldycpLmNsaWNrKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/ajaxpreviewtests.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/tests/ajaxpreviewtests.js", + "sourcesContent": [ + "import React from 'react';\nimport {default as mochaJsdom, rerequire} from 'mocha-jsdom';\nimport {expect} from 'chai';\nimport sinon from 'sinon';\n\nimport mochaGettext from './fixtures/mochaGettext.js';\nimport mochaK from './fixtures/mochaK.js';\nimport mochaJquery from './fixtures/mochaJquery.js';\n\ndescribe('ajax preview', () => {\n mochaJsdom({useEach: true});\n mochaJquery();\n mochaK();\n mochaGettext();\n /* globals window, $, k */\n\n var fakeServer;\n\n describe('events', () => {\n\n beforeEach(() => {\n rerequire('../ajaxpreview.js');\n rerequire('../libs/jquery.lazyload.js');\n\n sinon.stub($, 'ajax').yieldsTo('success', 'The content to preview.
');\n\n let sandbox = (\nThe content to preview.
');\n done();\n });\n $(ajaxPreview).trigger('get-preview');\n });\n\n it('should fire \"done\" event', done => {\n let ajaxPreview = new k.AjaxPreview($('#preview'));\n $(ajaxPreview).bind('done', (e, success) => {\n expect(success).to.equal(true);\n done();\n });\n $(ajaxPreview).trigger('get-preview');\n });\n\n it('should show the preview', done => {\n let ajaxPreview = new k.AjaxPreview($('#preview'));\n $(ajaxPreview).bind('done', (e, success) => {\n expect($('#preview-container').html())\n .to.equal('The content to preview.
');\n done();\n });\n $('#preview').click();\n });\n });\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaGettext.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "./mochaFixtureHelper.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaFixtureHelper" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mochaFixtureHelperJs = require('./mochaFixtureHelper.js');\n\nvar _mochaFixtureHelperJs2 = _interopRequireDefault(_mochaFixtureHelperJs);\n\nfunction fakeGettext(msgid) {\n return msgid;\n}\n\nexports['default'] = (0, _mochaFixtureHelperJs2['default'])(function () {\n return {\n gettext: fakeGettext\n };\n});\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2ZpeHR1cmVzL21vY2hhR2V0dGV4dC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztvQ0FBK0IseUJBQXlCOzs7O0FBRXhELFNBQVMsV0FBVyxDQUFDLEtBQUssRUFBRTtBQUMxQixTQUFPLEtBQUssQ0FBQztDQUNkOztxQkFFYyx1Q0FBbUIsWUFBTTtBQUN0QyxTQUFPO0FBQ0wsV0FBTyxFQUFFLFdBQVc7R0FDckIsQ0FBQztDQUNILENBQUMiLCJmaWxlIjoiL2FwcC9raXRzdW5lL3N1bW8vc3RhdGljL3N1bW8vanMvdGVzdHMvZml4dHVyZXMvbW9jaGFHZXR0ZXh0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vY2hhRml4dHVyZUhlbHBlciBmcm9tICcuL21vY2hhRml4dHVyZUhlbHBlci5qcyc7XG5cbmZ1bmN0aW9uIGZha2VHZXR0ZXh0KG1zZ2lkKSB7XG4gIHJldHVybiBtc2dpZDtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbW9jaGFGaXh0dXJlSGVscGVyKCgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBnZXR0ZXh0OiBmYWtlR2V0dGV4dCxcbiAgfTtcbn0pO1xuIl19", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaGettext.js" + ], + "names": [], + "mappings": ";;;;;;;;oCAA+B,yBAAyB;;;;AAExD,SAAS,WAAW,CAAC,KAAK,EAAE;AAC1B,SAAO,KAAK,CAAC;CACd;;qBAEc,uCAAmB,YAAM;AACtC,SAAO;AACL,WAAO,EAAE,WAAW;GACrB,CAAC;CACH,CAAC", + "file": "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaGettext.js", + "sourcesContent": [ + "import mochaFixtureHelper from './mochaFixtureHelper.js';\n\nfunction fakeGettext(msgid) {\n return msgid;\n}\n\nexport default mochaFixtureHelper(() => {\n return {\n gettext: fakeGettext,\n };\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaFixtureHelper.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/**\n * Install globals into the jsdom namespace.\n * @param {function} mapFunc This function will be called to get the list of\n * things to install into the namespace. Should return an object of keys\n * to values to install.\n */\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nexports[\"default\"] = function (mapFunc) {\n return function (options) {\n var map = undefined;\n\n global.beforeEach(function () {\n map = mapFunc(options);\n for (var key in map) {\n var val = map[key];\n global[key] = val;\n if (global.window) {\n global.window[key] = val;\n }\n }\n });\n\n global.afterEach(function () {\n for (var key in map) {\n delete global[key];\n if (global.window) {\n delete global.window[key];\n }\n }\n });\n };\n};\n\nmodule.exports = exports[\"default\"];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2ZpeHR1cmVzL21vY2hhRml4dHVyZUhlbHBlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7cUJBTWUsVUFBUyxPQUFPLEVBQUU7QUFDL0IsU0FBTyxVQUFTLE9BQU8sRUFBRTtBQUN2QixRQUFJLEdBQUcsWUFBQSxDQUFDOztBQUVSLFVBQU0sQ0FBQyxVQUFVLENBQUMsWUFBTTtBQUN0QixTQUFHLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3ZCLFdBQUssSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFO0FBQ25CLFlBQUksR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNuQixjQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDO0FBQ2xCLFlBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtBQUNqQixnQkFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDMUI7T0FDRjtLQUNGLENBQUMsQ0FBQzs7QUFFSCxVQUFNLENBQUMsU0FBUyxDQUFDLFlBQU07QUFDckIsV0FBSyxJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUU7QUFDbkIsZUFBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbkIsWUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO0FBQ2pCLGlCQUFPLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDM0I7T0FDRjtLQUNGLENBQUMsQ0FBQztHQUNKLENBQUM7Q0FDSCIsImZpbGUiOiIvYXBwL2tpdHN1bmUvc3Vtby9zdGF0aWMvc3Vtby9qcy90ZXN0cy9maXh0dXJlcy9tb2NoYUZpeHR1cmVIZWxwZXIuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEluc3RhbGwgZ2xvYmFscyBpbnRvIHRoZSBqc2RvbSBuYW1lc3BhY2UuXG4gKiBAcGFyYW0gIHtmdW5jdGlvbn0gbWFwRnVuYyBUaGlzIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHRvIGdldCB0aGUgbGlzdCBvZlxuICogICB0aGluZ3MgdG8gaW5zdGFsbCBpbnRvIHRoZSBuYW1lc3BhY2UuIFNob3VsZCByZXR1cm4gYW4gb2JqZWN0IG9mIGtleXNcbiAqICAgdG8gdmFsdWVzIHRvIGluc3RhbGwuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKG1hcEZ1bmMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKG9wdGlvbnMpIHtcbiAgICBsZXQgbWFwO1xuXG4gICAgZ2xvYmFsLmJlZm9yZUVhY2goKCkgPT4ge1xuICAgICAgbWFwID0gbWFwRnVuYyhvcHRpb25zKTtcbiAgICAgIGZvciAobGV0IGtleSBpbiBtYXApIHtcbiAgICAgICAgbGV0IHZhbCA9IG1hcFtrZXldO1xuICAgICAgICBnbG9iYWxba2V5XSA9IHZhbDtcbiAgICAgICAgaWYgKGdsb2JhbC53aW5kb3cpIHtcbiAgICAgICAgICBnbG9iYWwud2luZG93W2tleV0gPSB2YWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGdsb2JhbC5hZnRlckVhY2goKCkgPT4ge1xuICAgICAgZm9yIChsZXQga2V5IGluIG1hcCkge1xuICAgICAgICBkZWxldGUgZ2xvYmFsW2tleV07XG4gICAgICAgIGlmIChnbG9iYWwud2luZG93KSB7XG4gICAgICAgICAgZGVsZXRlIGdsb2JhbC53aW5kb3dba2V5XTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICB9O1xufVxuIl19", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaFixtureHelper.js" + ], + "names": [], + "mappings": ";;;;;;;;;;;;qBAMe,UAAS,OAAO,EAAE;AAC/B,SAAO,UAAS,OAAO,EAAE;AACvB,QAAI,GAAG,YAAA,CAAC;;AAER,UAAM,CAAC,UAAU,CAAC,YAAM;AACtB,SAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACvB,WAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACnB,YAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;AACnB,cAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAClB,YAAI,MAAM,CAAC,MAAM,EAAE;AACjB,gBAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SAC1B;OACF;KACF,CAAC,CAAC;;AAEH,UAAM,CAAC,SAAS,CAAC,YAAM;AACrB,WAAK,IAAI,GAAG,IAAI,GAAG,EAAE;AACnB,eAAO,MAAM,CAAC,GAAG,CAAC,CAAC;AACnB,YAAI,MAAM,CAAC,MAAM,EAAE;AACjB,iBAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAC3B;OACF;KACF,CAAC,CAAC;GACJ,CAAC;CACH", + "file": "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaFixtureHelper.js", + "sourcesContent": [ + "/**\n * Install globals into the jsdom namespace.\n * @param {function} mapFunc This function will be called to get the list of\n * things to install into the namespace. Should return an object of keys\n * to values to install.\n */\nexport default function(mapFunc) {\n return function(options) {\n let map;\n\n global.beforeEach(() => {\n map = mapFunc(options);\n for (let key in map) {\n let val = map[key];\n global[key] = val;\n if (global.window) {\n global.window[key] = val;\n }\n }\n });\n\n global.afterEach(() => {\n for (let key in map) {\n delete global[key];\n if (global.window) {\n delete global.window[key];\n }\n }\n });\n };\n}\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaK.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "./mochaFixtureHelper.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaFixtureHelper" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mochaFixtureHelperJs = require('./mochaFixtureHelper.js');\n\nvar _mochaFixtureHelperJs2 = _interopRequireDefault(_mochaFixtureHelperJs);\n\nexports['default'] = (0, _mochaFixtureHelperJs2['default'])(function () {\n var k = global.k || (global.window ? global.window.k : null) || {};\n return {\n k: k\n };\n});\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2ZpeHR1cmVzL21vY2hhSy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztvQ0FBK0IseUJBQXlCOzs7O3FCQUV6Qyx1Q0FBbUIsWUFBTTtBQUN0QyxNQUFJLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxLQUFLLE1BQU0sQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFBLEFBQUMsSUFBSSxFQUFFLENBQUM7QUFDbkUsU0FBTztBQUNMLEtBQUMsRUFBRSxDQUFDO0dBQ0wsQ0FBQztDQUNILENBQUMiLCJmaWxlIjoiL2FwcC9raXRzdW5lL3N1bW8vc3RhdGljL3N1bW8vanMvdGVzdHMvZml4dHVyZXMvbW9jaGFLLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vY2hhRml4dHVyZUhlbHBlciBmcm9tICcuL21vY2hhRml4dHVyZUhlbHBlci5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IG1vY2hhRml4dHVyZUhlbHBlcigoKSA9PiB7XG4gIGxldCBrID0gZ2xvYmFsLmsgfHwgKGdsb2JhbC53aW5kb3cgPyBnbG9iYWwud2luZG93LmsgOiBudWxsKSB8fCB7fTtcbiAgcmV0dXJuIHtcbiAgICBrOiBrLFxuICB9O1xufSk7XG4iXX0=", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaK.js" + ], + "names": [], + "mappings": ";;;;;;;;oCAA+B,yBAAyB;;;;qBAEzC,uCAAmB,YAAM;AACtC,MAAI,CAAC,GAAG,MAAM,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAA,AAAC,IAAI,EAAE,CAAC;AACnE,SAAO;AACL,KAAC,EAAE,CAAC;GACL,CAAC;CACH,CAAC", + "file": "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaK.js", + "sourcesContent": [ + "import mochaFixtureHelper from './mochaFixtureHelper.js';\n\nexport default mochaFixtureHelper(() => {\n let k = global.k || (global.window ? global.window.k : null) || {};\n return {\n k: k,\n };\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaJquery.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "./mochaFixtureHelper.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaFixtureHelper" + } + ] + }, + { + "source": "jquery", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "jQuery" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mochaFixtureHelperJs = require('./mochaFixtureHelper.js');\n\nvar _mochaFixtureHelperJs2 = _interopRequireDefault(_mochaFixtureHelperJs);\n\nvar _jquery = require('jquery');\n\nvar _jquery2 = _interopRequireDefault(_jquery);\n\nexports['default'] = (0, _mochaFixtureHelperJs2['default'])(function () {\n var jq = (0, _jquery2['default'])(global.window);\n return {\n $: jq,\n jQuery: jq\n };\n});\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2ZpeHR1cmVzL21vY2hhSnF1ZXJ5LmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O29DQUErQix5QkFBeUI7Ozs7c0JBQ3JDLFFBQVE7Ozs7cUJBRVosdUNBQW1CLFlBQU07QUFDdEMsTUFBSSxFQUFFLEdBQUcseUJBQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLFNBQU87QUFDTCxLQUFDLEVBQUUsRUFBRTtBQUNMLFVBQU0sRUFBRSxFQUFFO0dBQ1gsQ0FBQztDQUNILENBQUMiLCJmaWxlIjoiL2FwcC9raXRzdW5lL3N1bW8vc3RhdGljL3N1bW8vanMvdGVzdHMvZml4dHVyZXMvbW9jaGFKcXVlcnkuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbW9jaGFGaXh0dXJlSGVscGVyIGZyb20gJy4vbW9jaGFGaXh0dXJlSGVscGVyLmpzJztcbmltcG9ydCBqUXVlcnkgZnJvbSAnanF1ZXJ5JztcblxuZXhwb3J0IGRlZmF1bHQgbW9jaGFGaXh0dXJlSGVscGVyKCgpID0+IHtcbiAgbGV0IGpxID0galF1ZXJ5KGdsb2JhbC53aW5kb3cpO1xuICByZXR1cm4ge1xuICAgICQ6IGpxLFxuICAgIGpRdWVyeToganEsXG4gIH07XG59KTtcbiJdfQ==", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaJquery.js" + ], + "names": [], + "mappings": ";;;;;;;;oCAA+B,yBAAyB;;;;sBACrC,QAAQ;;;;qBAEZ,uCAAmB,YAAM;AACtC,MAAI,EAAE,GAAG,yBAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AAC/B,SAAO;AACL,KAAC,EAAE,EAAE;AACL,UAAM,EAAE,EAAE;GACX,CAAC;CACH,CAAC", + "file": "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaJquery.js", + "sourcesContent": [ + "import mochaFixtureHelper from './mochaFixtureHelper.js';\nimport jQuery from 'jquery';\n\nexport default mochaFixtureHelper(() => {\n let jq = jQuery(global.window);\n return {\n $: jq,\n jQuery: jq,\n };\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/ajaxvotetests.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "react", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "React" + } + ] + }, + { + "source": "mocha-jsdom", + "imported": [ + "default", + "rerequire" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJsdom" + }, + { + "kind": "named", + "imported": "rerequire", + "local": "rerequire" + } + ] + }, + { + "source": "chai", + "imported": [ + "expect" + ], + "specifiers": [ + { + "kind": "named", + "imported": "expect", + "local": "expect" + } + ] + }, + { + "source": "sinon", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "sinon" + } + ] + }, + { + "source": "./fixtures/mochaK.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaK" + } + ] + }, + { + "source": "./fixtures/mochaJquery.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJquery" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _mochaJsdom = require('mocha-jsdom');\n\nvar _mochaJsdom2 = _interopRequireDefault(_mochaJsdom);\n\nvar _chai = require('chai');\n\nvar _sinon = require('sinon');\n\nvar _sinon2 = _interopRequireDefault(_sinon);\n\nvar _fixturesMochaKJs = require('./fixtures/mochaK.js');\n\nvar _fixturesMochaKJs2 = _interopRequireDefault(_fixturesMochaKJs);\n\nvar _fixturesMochaJqueryJs = require('./fixtures/mochaJquery.js');\n\nvar _fixturesMochaJqueryJs2 = _interopRequireDefault(_fixturesMochaJqueryJs);\n\ndescribe('ajaxvote', function () {\n (0, _mochaJsdom2['default'])({ useEach: true });\n (0, _fixturesMochaJqueryJs2['default'])();\n (0, _fixturesMochaKJs2['default'])();\n /* globals window, document, $, k */\n\n describe('helpful vote', function () {\n var fakeServer = undefined;\n\n beforeEach(function () {\n (0, _mochaJsdom.rerequire)('../ajaxvote.js');\n\n _sinon2['default'].stub($, 'ajax').yieldsTo('success', { message: 'Thanks for the vote!' });\n\n var sandbox = _react2['default'].createElement(\n 'form',\n { className: 'vote', action: '/vote', method: 'post' },\n _react2['default'].createElement('input', { type: 'submit', name: 'helpful', defaultValue: 'Yes' }),\n _react2['default'].createElement('input', { type: 'submit', name: 'not-helpful', defaultValue: 'No' })\n );\n _react2['default'].render(sandbox, document.body);\n });\n\n afterEach(function () {\n $.ajax.restore();\n _react2['default'].unmountComponentAtNode(document.body);\n });\n\n it('should fire an event on a helpful vote', function (done) {\n var ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true\n });\n $(document).on('vote', function (ev, data) {\n (0, _chai.expect)(data.helpful).to.equal('Yes');\n (0, _chai.expect)(data.url).to.equal('/vote');\n done();\n });\n $('input[name=\"helpful\"]').click();\n });\n\n it('should fire an event on an unhelpful vote', function (done) {\n var ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true\n });\n $(document).on('vote', function (ev, data) {\n (0, _chai.expect)(data['not-helpful']).to.equal('No');\n (0, _chai.expect)(data.url).to.equal('/vote');\n done();\n });\n $('input[name=\"not-helpful\"]').click();\n });\n\n it('should include the right data in the request', function (done) {\n var ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true\n });\n $(document).on('vote', function (ev, data) {\n (0, _chai.expect)($.ajax.calledOnce).to.equal(true);\n (0, _chai.expect)($.ajax.firstCall.args[0].data.helpful).to.equal('Yes');\n done();\n });\n $('input[name=\"helpful\"]').click();\n });\n\n it('should update the UI with the response', function (done) {\n var ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true\n });\n $(document).on('vote', function (ev, data) {\n (0, _chai.expect)($('.ajax-vote-box').text()).to.equal('Thanks for the vote!');\n done();\n });\n $('input[name=\"helpful\"]').click();\n });\n });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2FqYXh2b3RldGVzdHMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztxQkFBa0IsT0FBTzs7OzswQkFDc0IsYUFBYTs7OztvQkFDdkMsTUFBTTs7cUJBQ1QsT0FBTzs7OztnQ0FFTixzQkFBc0I7Ozs7cUNBQ2pCLDJCQUEyQjs7OztBQUVuRCxRQUFRLENBQUMsVUFBVSxFQUFFLFlBQU07QUFDekIsK0JBQVcsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztBQUM1QiwyQ0FBYSxDQUFDO0FBQ2Qsc0NBQVEsQ0FBQzs7O0FBR1QsVUFBUSxDQUFDLGNBQWMsRUFBRSxZQUFNO0FBQzdCLFFBQUksVUFBVSxZQUFBLENBQUM7O0FBRWYsY0FBVSxDQUFDLFlBQU07QUFDZixpQ0FBVSxnQkFBZ0IsQ0FBQyxDQUFDOztBQUU1Qix5QkFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsRUFBQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUMsQ0FBQyxDQUFDOztBQUU3RSxVQUFJLE9BQU8sR0FDVDs7VUFBTSxTQUFTLEVBQUMsTUFBTSxFQUFDLE1BQU0sRUFBQyxPQUFPLEVBQUMsTUFBTSxFQUFDLE1BQU07UUFDakQsNENBQU8sSUFBSSxFQUFDLFFBQVEsRUFBQyxJQUFJLEVBQUMsU0FBUyxFQUFDLFlBQVksRUFBQyxLQUFLLEdBQUc7UUFDekQsNENBQU8sSUFBSSxFQUFDLFFBQVEsRUFBQyxJQUFJLEVBQUMsYUFBYSxFQUFDLFlBQVksRUFBQyxJQUFJLEdBQUc7T0FDdkQsQUFDUixDQUFDO0FBQ0YseUJBQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDdEMsQ0FBQyxDQUFDOztBQUVILGFBQVMsQ0FBQyxZQUFNO0FBQ2QsT0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztB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QUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQUMsRUFBRSxFQUFFLElBQUksRUFBSztBQUNuQywwQkFBTyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLENBQUMsQ0FBQztBQUNwRSxZQUFJLEVBQUUsQ0FBQztPQUNSLENBQUMsQ0FBQztBQUNILE9BQUMsQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO0tBQ3BDLENBQUMsQ0FBQztHQUVKLENBQUMsQ0FBQztDQUNKLENBQUMsQ0FBQyIsImZpbGUiOiIvYXBwL2tpdHN1bmUvc3Vtby9zdGF0aWMvc3Vtby9qcy90ZXN0cy9hamF4dm90ZXRlc3RzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZGVmYXVsdCBhcyBtb2NoYUpzZG9tLCByZXJlcXVpcmV9IGZyb20gJ21vY2hhLWpzZG9tJztcbmltcG9ydCB7ZXhwZWN0fSBmcm9tICdjaGFpJztcbmltcG9ydCBzaW5vbiBmcm9tICdzaW5vbic7XG5cbmltcG9ydCBtb2NoYUsgZnJvbSAnLi9maXh0dXJlcy9tb2NoYUsuanMnO1xuaW1wb3J0IG1vY2hhSnF1ZXJ5IGZyb20gJy4vZml4dHVyZXMvbW9jaGFKcXVlcnkuanMnO1xuXG5kZXNjcmliZSgnYWpheHZvdGUnLCAoKSA9PiB7XG4gIG1vY2hhSnNkb20oe3VzZUVhY2g6IHRydWV9KTtcbiAgbW9jaGFKcXVlcnkoKTtcbiAgbW9jaGFLKCk7XG4gIC8qIGdsb2JhbHMgd2luZG93LCBkb2N1bWVudCwgJCwgayAqL1xuXG4gIGRlc2NyaWJlKCdoZWxwZnVsIHZvdGUnLCAoKSA9PiB7XG4gICAgbGV0IGZha2VTZXJ2ZXI7XG5cbiAgICBiZWZvcmVFYWNoKCgpID0+IHtcbiAgICAgIHJlcmVxdWlyZSgnLi4vYWpheHZvdGUuanMnKTtcblxuICAgICAgc2lub24uc3R1YigkLCAnYWpheCcpLnlpZWxkc1RvKCdzdWNjZXNzJywge21lc3NhZ2U6ICdUaGFua3MgZm9yIHRoZSB2b3RlISd9KTtcblxuICAgICAgbGV0IHNhbmRib3ggPSAoXG4gICAgICAgIDxmb3JtIGNsYXNzTmFtZT1cInZvdGVcIiBhY3Rpb249XCIvdm90ZVwiIG1ldGhvZD1cInBvc3RcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJoZWxwZnVsXCIgZGVmYXVsdFZhbHVlPVwiWWVzXCIgLz5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInN1Ym1pdFwiIG5hbWU9XCJub3QtaGVscGZ1bFwiIGRlZmF1bHRWYWx1ZT1cIk5vXCIgLz5cbiAgICAgICAgPC9mb3JtPlxuICAgICAgKTtcbiAgICAgIFJlYWN0LnJlbmRlcihzYW5kYm94LCBkb2N1bWVudC5ib2R5KTtcbiAgICB9KTtcblxuICAgIGFmdGVyRWFjaCgoKSA9PiB7XG4gICAgICAkLmFqYXgucmVzdG9yZSgpO1xuICAgICAgUmVhY3QudW5tb3VudENvbXBvbmVudEF0Tm9kZShkb2N1bWVudC5ib2R5KTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmlyZSBhbiBldmVudCBvbiBhIGhlbHBmdWwgdm90ZScsIGRvbmUgPT4ge1xuICAgICAgbGV0IGFqYXhWb3RlID0gbmV3IGsuQWpheFZvdGUoJCgnZm9ybS52b3RlJyksIHtcbiAgICAgICAgcG9zaXRpb25NZXNzYWdlOiB0cnVlLFxuICAgICAgICByZW1vdmVGb3JtOiB0cnVlLFxuICAgICAgfSk7XG4gICAgICAkKGRvY3VtZW50KS5vbigndm90ZScsIChldiwgZGF0YSkgPT4ge1xuICAgICAgICBleHBlY3QoZGF0YS5oZWxwZnVsKS50by5lcXVhbCgnWWVzJyk7XG4gICAgICAgIGV4cGVjdChkYXRhLnVybCkudG8uZXF1YWwoJy92b3RlJyk7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgIH0pO1xuICAgICAgJCgnaW5wdXRbbmFtZT1cImhlbHBmdWxcIl0nKS5jbGljaygpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmaXJlIGFuIGV2ZW50IG9uIGFuIHVuaGVscGZ1bCB2b3RlJywgZG9uZSA9PiB7XG4gICAgICBsZXQgYWpheFZvdGUgPSBuZXcgay5BamF4Vm90ZSgkKCdmb3JtLnZvdGUnKSwge1xuICAgICAgICBwb3NpdGlvbk1lc3NhZ2U6IHRydWUsXG4gICAgICAgIHJlbW92ZUZvcm06IHRydWUsXG4gICAgICB9KTtcbiAgICAgICQoZG9jdW1lbnQpLm9uKCd2b3RlJywgKGV2LCBkYXRhKSA9PiB7XG4gICAgICAgIGV4cGVjdChkYXRhWydub3QtaGVscGZ1bCddKS50by5lcXVhbCgnTm8nKTtcbiAgICAgICAgZXhwZWN0KGRhdGEudXJsKS50by5lcXVhbCgnL3ZvdGUnKTtcbiAgICAgICAgZG9uZSgpO1xuICAgICAgfSk7XG4gICAgICAkKCdpbnB1dFtuYW1lPVwibm90LWhlbHBmdWxcIl0nKS5jbGljaygpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBpbmNsdWRlIHRoZSByaWdodCBkYXRhIGluIHRoZSByZXF1ZXN0JywgZG9uZSA9PiB7XG4gICAgICBsZXQgYWpheFZvdGUgPSBuZXcgay5BamF4Vm90ZSgkKCdmb3JtLnZvdGUnKSwge1xuICAgICAgICBwb3NpdGlvbk1lc3NhZ2U6IHRydWUsXG4gICAgICAgIHJlbW92ZUZvcm06IHRydWUsXG4gICAgICB9KTtcbiAgICAgICQoZG9jdW1lbnQpLm9uKCd2b3RlJywgKGV2LCBkYXRhKSA9PiB7XG4gICAgICAgIGV4cGVjdCgkLmFqYXguY2FsbGVkT25jZSkudG8uZXF1YWwodHJ1ZSk7XG4gICAgICAgIGV4cGVjdCgkLmFqYXguZmlyc3RDYWxsLmFyZ3NbMF0uZGF0YS5oZWxwZnVsKS50by5lcXVhbCgnWWVzJyk7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgIH0pO1xuICAgICAgJCgnaW5wdXRbbmFtZT1cImhlbHBmdWxcIl0nKS5jbGljaygpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCB1cGRhdGUgdGhlIFVJIHdpdGggdGhlIHJlc3BvbnNlJywgZG9uZSA9PiB7XG4gICAgICBsZXQgYWpheFZvdGUgPSBuZXcgay5BamF4Vm90ZSgkKCdmb3JtLnZvdGUnKSwge1xuICAgICAgICBwb3NpdGlvbk1lc3NhZ2U6IHRydWUsXG4gICAgICAgIHJlbW92ZUZvcm06IHRydWUsXG4gICAgICB9KTtcbiAgICAgICQoZG9jdW1lbnQpLm9uKCd2b3RlJywgKGV2LCBkYXRhKSA9PiB7XG4gICAgICAgIGV4cGVjdCgkKCcuYWpheC12b3RlLWJveCcpLnRleHQoKSkudG8uZXF1YWwoJ1RoYW5rcyBmb3IgdGhlIHZvdGUhJyk7XG4gICAgICAgIGRvbmUoKTtcbiAgICAgIH0pO1xuICAgICAgJCgnaW5wdXRbbmFtZT1cImhlbHBmdWxcIl0nKS5jbGljaygpO1xuICAgIH0pO1xuXG4gIH0pO1xufSk7XG4iXX0=", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/ajaxvotetests.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/tests/ajaxvotetests.js", + "sourcesContent": [ + "import React from 'react';\nimport {default as mochaJsdom, rerequire} from 'mocha-jsdom';\nimport {expect} from 'chai';\nimport sinon from 'sinon';\n\nimport mochaK from './fixtures/mochaK.js';\nimport mochaJquery from './fixtures/mochaJquery.js';\n\ndescribe('ajaxvote', () => {\n mochaJsdom({useEach: true});\n mochaJquery();\n mochaK();\n /* globals window, document, $, k */\n\n describe('helpful vote', () => {\n let fakeServer;\n\n beforeEach(() => {\n rerequire('../ajaxvote.js');\n\n sinon.stub($, 'ajax').yieldsTo('success', {message: 'Thanks for the vote!'});\n\n let sandbox = (\n \n );\n React.render(sandbox, document.body);\n });\n\n afterEach(() => {\n $.ajax.restore();\n React.unmountComponentAtNode(document.body);\n });\n\n it('should fire an event on a helpful vote', done => {\n let ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true,\n });\n $(document).on('vote', (ev, data) => {\n expect(data.helpful).to.equal('Yes');\n expect(data.url).to.equal('/vote');\n done();\n });\n $('input[name=\"helpful\"]').click();\n });\n\n it('should fire an event on an unhelpful vote', done => {\n let ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true,\n });\n $(document).on('vote', (ev, data) => {\n expect(data['not-helpful']).to.equal('No');\n expect(data.url).to.equal('/vote');\n done();\n });\n $('input[name=\"not-helpful\"]').click();\n });\n\n it('should include the right data in the request', done => {\n let ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true,\n });\n $(document).on('vote', (ev, data) => {\n expect($.ajax.calledOnce).to.equal(true);\n expect($.ajax.firstCall.args[0].data.helpful).to.equal('Yes');\n done();\n });\n $('input[name=\"helpful\"]').click();\n });\n\n it('should update the UI with the response', done => {\n let ajaxVote = new k.AjaxVote($('form.vote'), {\n positionMessage: true,\n removeForm: true,\n });\n $(document).on('vote', (ev, data) => {\n expect($('.ajax-vote-box').text()).to.equal('Thanks for the vote!');\n done();\n });\n $('input[name=\"helpful\"]').click();\n });\n\n });\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/browserdetecttests.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "chai", + "imported": [ + "expect" + ], + "specifiers": [ + { + "kind": "named", + "imported": "expect", + "local": "expect" + } + ] + }, + { + "source": "mocha-jsdom", + "imported": [ + "default", + "rerequire" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJsdom" + }, + { + "kind": "named", + "imported": "rerequire", + "local": "rerequire" + } + ] + }, + { + "source": "./fixtures/mochaUnderscore.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaUnderscore" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _chai = require('chai');\n\nvar _mochaJsdom = require('mocha-jsdom');\n\nvar _mochaJsdom2 = _interopRequireDefault(_mochaJsdom);\n\nvar _fixturesMochaUnderscoreJs = require('./fixtures/mochaUnderscore.js');\n\nvar _fixturesMochaUnderscoreJs2 = _interopRequireDefault(_fixturesMochaUnderscoreJs);\n\ndescribe('BrowserDetect', function () {\n (0, _mochaJsdom2['default'])({ useEach: true });\n (0, _fixturesMochaUnderscoreJs2['default'])();\n /* globals window */\n\n var BrowserDetect = undefined;\n\n beforeEach(function () {\n (0, _mochaJsdom.rerequire)('../browserdetect.js');\n\n BrowserDetect = window.BrowserDetect;\n });\n\n describe('Fennec versions', function () {\n it('should detect Fennec 7', function () {\n var ua = 'Mozilla/5.0 (Android; Linux armv7l; rv:7.0.1) Gecko/ Firefox/7.0.1 Fennec/7.0.1';\n (0, _chai.expect)(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('m');\n (0, _chai.expect)(BrowserDetect.searchVersion(ua)).to.equal(7);\n (0, _chai.expect)(BrowserDetect.detect(ua)).to.deep.equal(['m', 7, 'android']);\n });\n\n it('should detect Fennec 10', function () {\n var ua = 'Mozilla/5.0 (Android; Mobile; rv:10.0.4) Gecko/10.0.4 Firefox/10.0.4 Fennec/10.0.4';\n (0, _chai.expect)(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('m');\n (0, _chai.expect)(BrowserDetect.searchVersion(ua)).to.equal(10);\n (0, _chai.expect)(BrowserDetect.detect(ua)).to.deep.equal(['m', 10, 'android']);\n });\n\n it('should detect Fennec 14', function () {\n var ua = 'Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0';\n (0, _chai.expect)(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('m');\n (0, _chai.expect)(BrowserDetect.searchVersion(ua)).to.equal(14);\n (0, _chai.expect)(BrowserDetect.detect(ua)).to.deep.equal(['m', 14, 'android']);\n });\n });\n\n describe('Firefox versions', function () {\n it('should detect Firefox 4', function () {\n var ua = 'Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0';\n (0, _chai.expect)(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('fx');\n (0, _chai.expect)(BrowserDetect.searchVersion(ua)).to.equal(4);\n (0, _chai.expect)(BrowserDetect.detect(ua)).to.deep.equal(['fx', 4, 'linux']);\n });\n\n it('should detect Firefox 12', function () {\n return function () {\n var ua = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';\n (0, _chai.expect)(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('fx');\n (0, _chai.expect)(BrowserDetect.searchVersion(ua)).to.equal(12);\n (0, _chai.expect)(BrowserDetect.detect(ua)).to.deep.equal(['fx', 12, 'win7']);\n };\n });\n });\n\n describe('Windows versions', function () {\n var cases = [{\n ua: 'Mozilla/5.0 (Windows NT 5.0; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0',\n expected: ['fx', 12, 'winxp']\n }, {\n ua: 'Mozilla/5.0 (Windows NT 5.01; WOW64; rv:12.0) Gecko/20100101 Firefox/13.0',\n expected: ['fx', 13, 'winxp']\n }, {\n ua: 'Mozilla/5.0 (Windows NT 5.1; WOW64; rv:12.0) Gecko/20100101 Firefox/14.0',\n expected: ['fx', 14, 'winxp']\n }, {\n ua: 'Mozilla/5.0 (Windows NT 6.0; WOW64; rv:12.0) Gecko/20100101 Firefox/15.0',\n expected: ['fx', 15, 'win7']\n }, {\n ua: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/16.0',\n expected: ['fx', 16, 'win7']\n }, {\n ua: 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/17.0',\n expected: ['fx', 17, 'win8']\n }, {\n ua: 'Mozilla/5.0 (Windows NT 4.0; WOW64; rv:12.0) Gecko/20100101 Firefox/4.0',\n expected: ['fx', 4, 'win']\n }];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n var _loop = function () {\n var case_ = _step.value;\n\n it('should detect ' + case_.expected, function () {\n (0, _chai.expect)(BrowserDetect.searchString(BrowserDetect.dataOS, case_.ua)).to.equal(case_.expected[2]);\n (0, _chai.expect)(BrowserDetect.detect(case_.ua)).to.deep.equal(case_.expected);\n });\n };\n\n for (var _iterator = cases[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n _loop();\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator['return']) {\n _iterator['return']();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n describe('Firefox OS', function () {\n var cases = [{\n ua: 'Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0',\n expected: ['fxos', 1, 'fxos']\n }, {\n ua: 'Mozilla/5.0 (Mobile; nnnn; rv:18.1) Gecko/18.1 Firefox/18.1',\n expected: ['fxos', 1.1, 'fxos']\n }, {\n ua: 'Mozilla/5.0 (Mobile; nnnn; rv:26.0) Gecko/26.0 Firefox/26.0',\n expected: ['fxos', 1.2, 'fxos']\n }, {\n ua: 'Mozilla/5.0 (Mobile; nnnn; rv:28.0) Gecko/28.0 Firefox/28.0',\n expected: ['fxos', 1.3, 'fxos']\n }];\n\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n var _loop2 = function () {\n var case_ = _step2.value;\n\n it('should detect ' + case_.expected, function () {\n (0, _chai.expect)(BrowserDetect.detect(case_.ua)).to.deep.equal(case_.expected);\n });\n };\n\n for (var _iterator2 = cases[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n _loop2();\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2['return']) {\n _iterator2['return']();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n });\n\n describe('Firefox for iOS', function () {\n it('all platforms', function () {\n var uas = ['Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4', 'Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4', 'Mozilla/5.0 (iPod touch; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12H143 Safari/600.1.4'];\n var _iteratorNormalCompletion3 = true;\n var _didIteratorError3 = false;\n var _iteratorError3 = undefined;\n\n try {\n for (var _iterator3 = uas[Symbol.iterator](), _step3; !(_iteratorNormalCompletion3 = (_step3 = _iterator3.next()).done); _iteratorNormalCompletion3 = true) {\n var ua = _step3.value;\n\n (0, _chai.expect)(BrowserDetect.detect(ua)).to.deep.equal(['fxios', 1.0, 'ios']);\n }\n } catch (err) {\n _didIteratorError3 = true;\n _iteratorError3 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion3 && _iterator3['return']) {\n _iterator3['return']();\n }\n } finally {\n if (_didIteratorError3) {\n throw _iteratorError3;\n }\n }\n }\n });\n\n var cases = [{\n ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0.0 Mobile/12D508 Safari/600.1.4',\n version: 1.0\n }, {\n ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0.1 Mobile/12D508 Safari/600.1.4',\n version: 1.0\n }, {\n ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.1.0 Mobile/12D508 Safari/600.1.4',\n version: 1.1\n }];\n\n var _iteratorNormalCompletion4 = true;\n var _didIteratorError4 = false;\n var _iteratorError4 = undefined;\n\n try {\n var _loop3 = function () {\n var case_ = _step4.value;\n\n it('version ' + case_.version, function () {\n (0, _chai.expect)(BrowserDetect.detect(case_.ua)[1]).to.equal(case_.version);\n });\n };\n\n for (var _iterator4 = cases[Symbol.iterator](), _step4; !(_iteratorNormalCompletion4 = (_step4 = _iterator4.next()).done); _iteratorNormalCompletion4 = true) {\n _loop3();\n }\n } catch (err) {\n _didIteratorError4 = true;\n _iteratorError4 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion4 && _iterator4['return']) {\n _iterator4['return']();\n }\n } finally {\n if (_didIteratorError4) {\n throw _iteratorError4;\n }\n }\n }\n });\n});\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2Jyb3dzZXJkZXRlY3R0ZXN0cy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O29CQUFxQixNQUFNOzswQkFDb0IsYUFBYTs7Ozt5Q0FFaEMsK0JBQStCOzs7O0FBRTNELFFBQVEsQ0FBQyxlQUFlLEVBQUUsWUFBTTtBQUM5QiwrQkFBVyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0FBQzVCLCtDQUFpQixDQUFDOzs7QUFHbEIsTUFBSSxhQUFhLFlBQUEsQ0FBQzs7QUFFbEIsWUFBVSxDQUFDLFlBQU07QUFDZiwrQkFBVSxxQkFBcUIsQ0FBQyxDQUFDOztBQUVqQyxpQkFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7R0FDdEMsQ0FBQyxDQUFDOztBQUVILFVBQVEsQ0FBQyxpQkFBaUIsRUFBRSxZQUFNO0FBQ2hDLE1BQUUsQ0FBQyx3QkFBd0IsRUFBRSxZQUFNO0FBQ2pDLFVBQUksRUFBRSxHQUFHLGlGQUFpRixDQUFDO0FBQzNGLHdCQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDaEYsd0JBQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsd0JBQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQ3JFLENBQUMsQ0FBQzs7QUFFSCxNQUFFLENBQUMseUJBQXlCLEVBQUUsWUFBTTtBQUNsQyxVQUFJLEVBQUUsR0FBRyxvRkFBb0YsQ0FBQztBQUM5Rix3QkFBTyxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2hGLHdCQUFPLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0FBQ3JELHdCQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztLQUN0RSxDQUFDLENBQUM7O0FBRUgsTUFBRSxDQUFDLHlCQUF5QixFQUFFLFlBQU07QUFDbEMsVUFBSSxFQUFFLEdBQUcsZ0VBQWdFLENBQUM7QUFDMUUsd0JBQU8sYUFBYSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNoRix3QkFBTyxhQUFhLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUNyRCx3QkFBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7S0FDdEUsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDOztBQUVILFVBQVEsQ0FBQyxrQkFBa0IsRUFBRSxZQUFNO0FBQ2pDLE1BQUUsQ0FBQyx5QkFBeUIsRUFBRSxZQUFNO0FBQ2xDLFVBQUksRUFBRSxHQUFHLGtFQUFrRSxDQUFDO0FBQzVFLHdCQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakYsd0JBQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDcEQsd0JBQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO0tBQ3BFLENBQUMsQ0FBQzs7QUFFSCxNQUFFLENBQUMsMEJBQTBCLEVBQUU7YUFBTSxZQUFXO0FBQzlDLFlBQUksRUFBRSxHQUFHLDBFQUEwRSxDQUFDO0FBQ3BGLDBCQUFPLGFBQWEsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDakYsMEJBQU8sYUFBYSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDckQsMEJBQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDO09BQ3BFO0tBQUEsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDOztBQUVILFVBQVEsQ0FBQyxrQkFBa0IsRUFBRSxZQUFNO0FBQ2pDLFFBQUksS0FBSyxHQUFHLENBQ1Y7QUFDRSxRQUFFLEVBQUUsMEVBQTBFO0FBQzlFLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDO0tBQzlCLEVBQ0Q7QUFDRSxRQUFFLEVBQUUsMkVBQTJFO0FBQy9FLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDO0tBQzlCLEVBQ0Q7QUFDRSxRQUFFLEVBQUUsMEVBQTBFO0FBQzlFLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDO0tBQzlCLEVBQ0Q7QUFDRSxRQUFFLEVBQUUsMEVBQTBFO0FBQzlFLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBQ0Q7QUFDRSxRQUFFLEVBQUUsMEVBQTBFO0FBQzlFLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBQ0Q7QUFDRSxRQUFFLEVBQUUsMEVBQTBFO0FBQzlFLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsTUFBTSxDQUFDO0tBQzdCLEVBQ0Q7QUFDRSxRQUFFLEVBQUUseUVBQXlFO0FBQzdFLGNBQVEsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDO0tBQzNCLENBQ0YsQ0FBQzs7Ozs7Ozs7WUFFTyxLQUFLOztBQUNaLFVBQUUsb0JBQWtCLEtBQUssQ0FBQyxRQUFRLEVBQUksWUFBTTtBQUMxQyw0QkFBTyxhQUFhLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDL0YsNEJBQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDdEUsQ0FBQyxDQUFDOzs7QUFKTCwyQkFBa0IsS0FBSyw4SEFBRTs7T0FLeEI7Ozs7Ozs7Ozs7Ozs7OztHQUNGLENBQUMsQ0FBQzs7QUFFSCxVQUFRLENBQUMsWUFBWSxFQUFFLFlBQVc7QUFDaEMsUUFBSSxLQUFLLEdBQUcsQ0FDVjtBQUNFLFFBQUUsRUFBRSx1REFBdUQ7QUFDM0QsY0FBUSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUM7S0FDOUIsRUFDRDtBQUNFLFFBQUUsRUFBRSw2REFBNkQ7QUFDakUsY0FBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7S0FDaEMsRUFDRDtBQUNFLFFBQUUsRUFBRSw2REFBNkQ7QUFDakUsY0FBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7S0FDaEMsRUFDRDtBQUNFLFFBQUUsRUFBRSw2REFBNkQ7QUFDakUsY0FBUSxFQUFFLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxNQUFNLENBQUM7S0FDaEMsQ0FDRixDQUFDOzs7Ozs7OztZQUVPLEtBQUs7O0FBQ1osVUFBRSxvQkFBa0IsS0FBSyxDQUFDLFFBQVEsRUFBSSxZQUFNO0FBQzFDLDRCQUFPLGFBQWEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3RFLENBQUMsQ0FBQzs7O0FBSEwsNEJBQWtCLEtBQUssbUlBQUU7O09BSXhCOzs7Ozs7Ozs7Ozs7Ozs7R0FDRixDQUFDLENBQUM7O0FBRUgsVUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQU07QUFDaEMsTUFBRSxDQUFDLGVBQWUsRUFBRSxZQUFNO0FBQ3hCLFVBQUksR0FBRyxHQUFHLENBQ1IscUlBQXFJLEVBQ3JJLG1JQUFtSSxFQUNuSSwwSUFBMEksQ0FDM0ksQ0FBQzs7Ozs7O0FBQ0YsOEJBQWUsR0FBRyxtSUFBRTtjQUFYLEVBQUU7O0FBQ1QsNEJBQU8sYUFBYSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQ3ZFOzs7Ozs7Ozs7Ozs7Ozs7S0FDRixDQUFDLENBQUM7O0FBRUgsUUFBSSxLQUFLLEdBQUcsQ0FDVjtBQUNFLFFBQUUsRUFBRSx3SUFBd0k7QUFDNUksYUFBTyxFQUFFLEdBQUc7S0FDYixFQUNEO0FBQ0UsUUFBRSxFQUFFLHdJQUF3STtBQUM1SSxhQUFPLEVBQUUsR0FBRztLQUNiLEVBQ0Q7QUFDRSxRQUFFLEVBQUUsd0lBQXdJO0FBQzVJLGFBQU8sRUFBRSxHQUFHO0tBQ2IsQ0FDRixDQUFDOzs7Ozs7OztZQUVPLEtBQUs7O0FBQ1osVUFBRSxjQUFZLEtBQUssQ0FBQyxPQUFPLEVBQUksWUFBTTtBQUNuQyw0QkFBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQ25FLENBQUMsQ0FBQzs7O0FBSEwsNEJBQWtCLEtBQUssbUlBQUU7O09BSXhCOzs7Ozs7Ozs7Ozs7Ozs7R0FDRixDQUFDLENBQUM7Q0FDSixDQUFDLENBQUMiLCJmaWxlIjoiL2FwcC9raXRzdW5lL3N1bW8vc3RhdGljL3N1bW8vanMvdGVzdHMvYnJvd3NlcmRldGVjdHRlc3RzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtleHBlY3R9IGZyb20gJ2NoYWknO1xuaW1wb3J0IHtkZWZhdWx0IGFzIG1vY2hhSnNkb20sIHJlcmVxdWlyZX0gZnJvbSAnbW9jaGEtanNkb20nO1xuXG5pbXBvcnQgbW9jaGFVbmRlcnNjb3JlIGZyb20gJy4vZml4dHVyZXMvbW9jaGFVbmRlcnNjb3JlLmpzJztcblxuZGVzY3JpYmUoJ0Jyb3dzZXJEZXRlY3QnLCAoKSA9PiB7XG4gIG1vY2hhSnNkb20oe3VzZUVhY2g6IHRydWV9KTtcbiAgbW9jaGFVbmRlcnNjb3JlKCk7XG4gIC8qIGdsb2JhbHMgd2luZG93ICovXG5cbiAgbGV0IEJyb3dzZXJEZXRlY3Q7XG5cbiAgYmVmb3JlRWFjaCgoKSA9PiB7XG4gICAgcmVyZXF1aXJlKCcuLi9icm93c2VyZGV0ZWN0LmpzJyk7XG5cbiAgICBCcm93c2VyRGV0ZWN0ID0gd2luZG93LkJyb3dzZXJEZXRlY3Q7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdGZW5uZWMgdmVyc2lvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBkZXRlY3QgRmVubmVjIDcnLCAoKSA9PiB7XG4gICAgICBsZXQgdWEgPSAnTW96aWxsYS81LjAgKEFuZHJvaWQ7IExpbnV4IGFybXY3bDsgcnY6Ny4wLjEpIEdlY2tvLyBGaXJlZm94LzcuMC4xIEZlbm5lYy83LjAuMSc7XG4gICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5zZWFyY2hTdHJpbmcoQnJvd3NlckRldGVjdC5kYXRhQnJvd3NlciwgdWEpKS50by5lcXVhbCgnbScpO1xuICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3Quc2VhcmNoVmVyc2lvbih1YSkpLnRvLmVxdWFsKDcpO1xuICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3QuZGV0ZWN0KHVhKSkudG8uZGVlcC5lcXVhbChbJ20nLCA3LCAnYW5kcm9pZCddKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZGV0ZWN0IEZlbm5lYyAxMCcsICgpID0+IHtcbiAgICAgIGxldCB1YSA9ICdNb3ppbGxhLzUuMCAoQW5kcm9pZDsgTW9iaWxlOyBydjoxMC4wLjQpIEdlY2tvLzEwLjAuNCBGaXJlZm94LzEwLjAuNCBGZW5uZWMvMTAuMC40JztcbiAgICAgIGV4cGVjdChCcm93c2VyRGV0ZWN0LnNlYXJjaFN0cmluZyhCcm93c2VyRGV0ZWN0LmRhdGFCcm93c2VyLCB1YSkpLnRvLmVxdWFsKCdtJyk7XG4gICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5zZWFyY2hWZXJzaW9uKHVhKSkudG8uZXF1YWwoMTApO1xuICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3QuZGV0ZWN0KHVhKSkudG8uZGVlcC5lcXVhbChbJ20nLCAxMCwgJ2FuZHJvaWQnXSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBGZW5uZWMgMTQnLCAoKSA9PiB7XG4gICAgICBsZXQgdWEgPSAnTW96aWxsYS81LjAgKEFuZHJvaWQ7IE1vYmlsZTsgcnY6MTQuMCkgR2Vja28vMTQuMCBGaXJlZm94LzE0LjAnO1xuICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3Quc2VhcmNoU3RyaW5nKEJyb3dzZXJEZXRlY3QuZGF0YUJyb3dzZXIsIHVhKSkudG8uZXF1YWwoJ20nKTtcbiAgICAgIGV4cGVjdChCcm93c2VyRGV0ZWN0LnNlYXJjaFZlcnNpb24odWEpKS50by5lcXVhbCgxNCk7XG4gICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5kZXRlY3QodWEpKS50by5kZWVwLmVxdWFsKFsnbScsIDE0LCAnYW5kcm9pZCddKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0ZpcmVmb3ggdmVyc2lvbnMnLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBkZXRlY3QgRmlyZWZveCA0JywgKCkgPT4ge1xuICAgICAgbGV0IHVhID0gJ01vemlsbGEvNS4wIChYMTE7IExpbnV4IGk2ODY7IHJ2OjIuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC80LjAnO1xuICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3Quc2VhcmNoU3RyaW5nKEJyb3dzZXJEZXRlY3QuZGF0YUJyb3dzZXIsIHVhKSkudG8uZXF1YWwoJ2Z4Jyk7XG4gICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5zZWFyY2hWZXJzaW9uKHVhKSkudG8uZXF1YWwoNCk7XG4gICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5kZXRlY3QodWEpKS50by5kZWVwLmVxdWFsKFsnZngnLCA0LCAnbGludXgnXSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGRldGVjdCBGaXJlZm94IDEyJywgKCkgPT4gZnVuY3Rpb24oKSB7XG4gICAgICBsZXQgdWEgPSAnTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgNi4xOyBXT1c2NDsgcnY6MTIuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMi4wJztcbiAgICAgIGV4cGVjdChCcm93c2VyRGV0ZWN0LnNlYXJjaFN0cmluZyhCcm93c2VyRGV0ZWN0LmRhdGFCcm93c2VyLCB1YSkpLnRvLmVxdWFsKCdmeCcpO1xuICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3Quc2VhcmNoVmVyc2lvbih1YSkpLnRvLmVxdWFsKDEyKTtcbiAgICAgIGV4cGVjdChCcm93c2VyRGV0ZWN0LmRldGVjdCh1YSkpLnRvLmRlZXAuZXF1YWwoWydmeCcsIDEyLCAnd2luNyddKTtcbiAgICB9KTtcbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ1dpbmRvd3MgdmVyc2lvbnMnLCAoKSA9PiB7XG4gICAgbGV0IGNhc2VzID0gW1xuICAgICAge1xuICAgICAgICB1YTogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDUuMDsgV09XNjQ7IHJ2OjEyLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTIuMCcsXG4gICAgICAgIGV4cGVjdGVkOiBbJ2Z4JywgMTIsICd3aW54cCddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA1LjAxOyBXT1c2NDsgcnY6MTIuMCkgR2Vja28vMjAxMDAxMDEgRmlyZWZveC8xMy4wJyxcbiAgICAgICAgZXhwZWN0ZWQ6IFsnZngnLCAxMywgJ3dpbnhwJ10sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1YTogJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDUuMTsgV09XNjQ7IHJ2OjEyLjApIEdlY2tvLzIwMTAwMTAxIEZpcmVmb3gvMTQuMCcsXG4gICAgICAgIGV4cGVjdGVkOiBbJ2Z4JywgMTQsICd3aW54cCddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjA7IFdPVzY0OyBydjoxMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE1LjAnLFxuICAgICAgICBleHBlY3RlZDogWydmeCcsIDE1LCAnd2luNyddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjE7IFdPVzY0OyBydjoxMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE2LjAnLFxuICAgICAgICBleHBlY3RlZDogWydmeCcsIDE2LCAnd2luNyddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjI7IFdPVzY0OyBydjoxMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzE3LjAnLFxuICAgICAgICBleHBlY3RlZDogWydmeCcsIDE3LCAnd2luOCddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA0LjA7IFdPVzY0OyBydjoxMi4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LzQuMCcsXG4gICAgICAgIGV4cGVjdGVkOiBbJ2Z4JywgNCwgJ3dpbiddLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgZm9yIChsZXQgY2FzZV8gb2YgY2FzZXMpIHtcbiAgICAgIGl0KGBzaG91bGQgZGV0ZWN0ICR7Y2FzZV8uZXhwZWN0ZWR9YCwgKCkgPT4ge1xuICAgICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5zZWFyY2hTdHJpbmcoQnJvd3NlckRldGVjdC5kYXRhT1MsIGNhc2VfLnVhKSkudG8uZXF1YWwoY2FzZV8uZXhwZWN0ZWRbMl0pO1xuICAgICAgICBleHBlY3QoQnJvd3NlckRldGVjdC5kZXRlY3QoY2FzZV8udWEpKS50by5kZWVwLmVxdWFsKGNhc2VfLmV4cGVjdGVkKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgZGVzY3JpYmUoJ0ZpcmVmb3ggT1MnLCBmdW5jdGlvbigpIHtcbiAgICBsZXQgY2FzZXMgPSBbXG4gICAgICB7XG4gICAgICAgIHVhOiAnTW96aWxsYS81LjAgKE1vYmlsZTsgcnY6MTguMCkgR2Vja28vMTguMCBGaXJlZm94LzE4LjAnLFxuICAgICAgICBleHBlY3RlZDogWydmeG9zJywgMSwgJ2Z4b3MnXSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVhOiAnTW96aWxsYS81LjAgKE1vYmlsZTsgbm5ubjsgcnY6MTguMSkgR2Vja28vMTguMSBGaXJlZm94LzE4LjEnLFxuICAgICAgICBleHBlY3RlZDogWydmeG9zJywgMS4xLCAnZnhvcyddLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoTW9iaWxlOyBubm5uOyBydjoyNi4wKSBHZWNrby8yNi4wIEZpcmVmb3gvMjYuMCcsXG4gICAgICAgIGV4cGVjdGVkOiBbJ2Z4b3MnLCAxLjIsICdmeG9zJ10sXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1YTogJ01vemlsbGEvNS4wIChNb2JpbGU7IG5ubm47IHJ2OjI4LjApIEdlY2tvLzI4LjAgRmlyZWZveC8yOC4wJyxcbiAgICAgICAgZXhwZWN0ZWQ6IFsnZnhvcycsIDEuMywgJ2Z4b3MnXSxcbiAgICAgIH0sXG4gICAgXTtcblxuICAgIGZvciAobGV0IGNhc2VfIG9mIGNhc2VzKSB7XG4gICAgICBpdChgc2hvdWxkIGRldGVjdCAke2Nhc2VfLmV4cGVjdGVkfWAsICgpID0+IHtcbiAgICAgICAgZXhwZWN0KEJyb3dzZXJEZXRlY3QuZGV0ZWN0KGNhc2VfLnVhKSkudG8uZGVlcC5lcXVhbChjYXNlXy5leHBlY3RlZCk7XG4gICAgICB9KTtcbiAgICB9XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdGaXJlZm94IGZvciBpT1MnLCAoKSA9PiB7XG4gICAgaXQoJ2FsbCBwbGF0Zm9ybXMnLCAoKSA9PiB7XG4gICAgICBsZXQgdWFzID0gW1xuICAgICAgICAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyA4XzMgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAwLjEuNCAoS0hUTUwsIGxpa2UgR2Vja28pIEZ4aU9TLzEuMCBNb2JpbGUvMTJGNjkgU2FmYXJpLzYwMC4xLjQnLFxuICAgICAgICAnTW96aWxsYS81LjAgKGlQYWQ7IENQVSBpUGhvbmUgT1MgOF8zIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMC4xLjQgKEtIVE1MLCBsaWtlIEdlY2tvKSBGeGlPUy8xLjAgTW9iaWxlLzEyRjY5IFNhZmFyaS82MDAuMS40JyxcbiAgICAgICAgJ01vemlsbGEvNS4wIChpUG9kIHRvdWNoOyBDUFUgaVBob25lIE9TIDhfNCBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDAuMS40IChLSFRNTCwgbGlrZSBHZWNrbykgRnhpT1MvMS4wIE1vYmlsZS8xMkgxNDMgU2FmYXJpLzYwMC4xLjQnXG4gICAgICBdO1xuICAgICAgZm9yIChsZXQgdWEgb2YgdWFzKSB7XG4gICAgICAgIGV4cGVjdChCcm93c2VyRGV0ZWN0LmRldGVjdCh1YSkpLnRvLmRlZXAuZXF1YWwoWydmeGlvcycsIDEuMCwgJ2lvcyddKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGxldCBjYXNlcyA9IFtcbiAgICAgIHtcbiAgICAgICAgdWE6ICdNb3ppbGxhLzUuMCAoaVBob25lOyBDUFUgaVBob25lIE9TIDhfMiBsaWtlIE1hYyBPUyBYKSBBcHBsZVdlYktpdC82MDAuMS40IChLSFRNTCwgbGlrZSBHZWNrbykgRnhpT1MvMS4wLjAgTW9iaWxlLzEyRDUwOCBTYWZhcmkvNjAwLjEuNCcsXG4gICAgICAgIHZlcnNpb246IDEuMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHVhOiAnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyA4XzIgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjAwLjEuNCAoS0hUTUwsIGxpa2UgR2Vja28pIEZ4aU9TLzEuMC4xIE1vYmlsZS8xMkQ1MDggU2FmYXJpLzYwMC4xLjQnLFxuICAgICAgICB2ZXJzaW9uOiAxLjAsXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB1YTogJ01vemlsbGEvNS4wIChpUGhvbmU7IENQVSBpUGhvbmUgT1MgOF8yIGxpa2UgTWFjIE9TIFgpIEFwcGxlV2ViS2l0LzYwMC4xLjQgKEtIVE1MLCBsaWtlIEdlY2tvKSBGeGlPUy8xLjEuMCBNb2JpbGUvMTJENTA4IFNhZmFyaS82MDAuMS40JyxcbiAgICAgICAgdmVyc2lvbjogMS4xLFxuICAgICAgfSxcbiAgICBdO1xuXG4gICAgZm9yIChsZXQgY2FzZV8gb2YgY2FzZXMpIHtcbiAgICAgIGl0KGB2ZXJzaW9uICR7Y2FzZV8udmVyc2lvbn1gLCAoKSA9PiB7XG4gICAgICAgIGV4cGVjdChCcm93c2VyRGV0ZWN0LmRldGVjdChjYXNlXy51YSlbMV0pLnRvLmVxdWFsKGNhc2VfLnZlcnNpb24pO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn0pO1xuIl19", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/browserdetecttests.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/tests/browserdetecttests.js", + "sourcesContent": [ + "import {expect} from 'chai';\nimport {default as mochaJsdom, rerequire} from 'mocha-jsdom';\n\nimport mochaUnderscore from './fixtures/mochaUnderscore.js';\n\ndescribe('BrowserDetect', () => {\n mochaJsdom({useEach: true});\n mochaUnderscore();\n /* globals window */\n\n let BrowserDetect;\n\n beforeEach(() => {\n rerequire('../browserdetect.js');\n\n BrowserDetect = window.BrowserDetect;\n });\n\n describe('Fennec versions', () => {\n it('should detect Fennec 7', () => {\n let ua = 'Mozilla/5.0 (Android; Linux armv7l; rv:7.0.1) Gecko/ Firefox/7.0.1 Fennec/7.0.1';\n expect(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('m');\n expect(BrowserDetect.searchVersion(ua)).to.equal(7);\n expect(BrowserDetect.detect(ua)).to.deep.equal(['m', 7, 'android']);\n });\n\n it('should detect Fennec 10', () => {\n let ua = 'Mozilla/5.0 (Android; Mobile; rv:10.0.4) Gecko/10.0.4 Firefox/10.0.4 Fennec/10.0.4';\n expect(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('m');\n expect(BrowserDetect.searchVersion(ua)).to.equal(10);\n expect(BrowserDetect.detect(ua)).to.deep.equal(['m', 10, 'android']);\n });\n\n it('should detect Fennec 14', () => {\n let ua = 'Mozilla/5.0 (Android; Mobile; rv:14.0) Gecko/14.0 Firefox/14.0';\n expect(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('m');\n expect(BrowserDetect.searchVersion(ua)).to.equal(14);\n expect(BrowserDetect.detect(ua)).to.deep.equal(['m', 14, 'android']);\n });\n });\n\n describe('Firefox versions', () => {\n it('should detect Firefox 4', () => {\n let ua = 'Mozilla/5.0 (X11; Linux i686; rv:2.0) Gecko/20100101 Firefox/4.0';\n expect(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('fx');\n expect(BrowserDetect.searchVersion(ua)).to.equal(4);\n expect(BrowserDetect.detect(ua)).to.deep.equal(['fx', 4, 'linux']);\n });\n\n it('should detect Firefox 12', () => function() {\n let ua = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';\n expect(BrowserDetect.searchString(BrowserDetect.dataBrowser, ua)).to.equal('fx');\n expect(BrowserDetect.searchVersion(ua)).to.equal(12);\n expect(BrowserDetect.detect(ua)).to.deep.equal(['fx', 12, 'win7']);\n });\n });\n\n describe('Windows versions', () => {\n let cases = [\n {\n ua: 'Mozilla/5.0 (Windows NT 5.0; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0',\n expected: ['fx', 12, 'winxp'],\n },\n {\n ua: 'Mozilla/5.0 (Windows NT 5.01; WOW64; rv:12.0) Gecko/20100101 Firefox/13.0',\n expected: ['fx', 13, 'winxp'],\n },\n {\n ua: 'Mozilla/5.0 (Windows NT 5.1; WOW64; rv:12.0) Gecko/20100101 Firefox/14.0',\n expected: ['fx', 14, 'winxp'],\n },\n {\n ua: 'Mozilla/5.0 (Windows NT 6.0; WOW64; rv:12.0) Gecko/20100101 Firefox/15.0',\n expected: ['fx', 15, 'win7'],\n },\n {\n ua: 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/16.0',\n expected: ['fx', 16, 'win7'],\n },\n {\n ua: 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:12.0) Gecko/20100101 Firefox/17.0',\n expected: ['fx', 17, 'win8'],\n },\n {\n ua: 'Mozilla/5.0 (Windows NT 4.0; WOW64; rv:12.0) Gecko/20100101 Firefox/4.0',\n expected: ['fx', 4, 'win'],\n },\n ];\n\n for (let case_ of cases) {\n it(`should detect ${case_.expected}`, () => {\n expect(BrowserDetect.searchString(BrowserDetect.dataOS, case_.ua)).to.equal(case_.expected[2]);\n expect(BrowserDetect.detect(case_.ua)).to.deep.equal(case_.expected);\n });\n }\n });\n\n describe('Firefox OS', function() {\n let cases = [\n {\n ua: 'Mozilla/5.0 (Mobile; rv:18.0) Gecko/18.0 Firefox/18.0',\n expected: ['fxos', 1, 'fxos'],\n },\n {\n ua: 'Mozilla/5.0 (Mobile; nnnn; rv:18.1) Gecko/18.1 Firefox/18.1',\n expected: ['fxos', 1.1, 'fxos'],\n },\n {\n ua: 'Mozilla/5.0 (Mobile; nnnn; rv:26.0) Gecko/26.0 Firefox/26.0',\n expected: ['fxos', 1.2, 'fxos'],\n },\n {\n ua: 'Mozilla/5.0 (Mobile; nnnn; rv:28.0) Gecko/28.0 Firefox/28.0',\n expected: ['fxos', 1.3, 'fxos'],\n },\n ];\n\n for (let case_ of cases) {\n it(`should detect ${case_.expected}`, () => {\n expect(BrowserDetect.detect(case_.ua)).to.deep.equal(case_.expected);\n });\n }\n });\n\n describe('Firefox for iOS', () => {\n it('all platforms', () => {\n let uas = [\n 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4',\n 'Mozilla/5.0 (iPad; CPU iPhone OS 8_3 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12F69 Safari/600.1.4',\n 'Mozilla/5.0 (iPod touch; CPU iPhone OS 8_4 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0 Mobile/12H143 Safari/600.1.4'\n ];\n for (let ua of uas) {\n expect(BrowserDetect.detect(ua)).to.deep.equal(['fxios', 1.0, 'ios']);\n }\n });\n\n let cases = [\n {\n ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0.0 Mobile/12D508 Safari/600.1.4',\n version: 1.0,\n },\n {\n ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.0.1 Mobile/12D508 Safari/600.1.4',\n version: 1.0,\n },\n {\n ua: 'Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) FxiOS/1.1.0 Mobile/12D508 Safari/600.1.4',\n version: 1.1,\n },\n ];\n\n for (let case_ of cases) {\n it(`version ${case_.version}`, () => {\n expect(BrowserDetect.detect(case_.ua)[1]).to.equal(case_.version);\n });\n }\n });\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaUnderscore.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "./mochaFixtureHelper.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaFixtureHelper" + } + ] + }, + { + "source": "underscore", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "_" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nObject.defineProperty(exports, '__esModule', {\n value: true\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mochaFixtureHelperJs = require('./mochaFixtureHelper.js');\n\nvar _mochaFixtureHelperJs2 = _interopRequireDefault(_mochaFixtureHelperJs);\n\nvar _underscore = require('underscore');\n\nvar _underscore2 = _interopRequireDefault(_underscore);\n\nexports['default'] = (0, _mochaFixtureHelperJs2['default'])(function () {\n return {\n _: _underscore2['default']\n };\n});\nmodule.exports = exports['default'];\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3Rlc3RzL2ZpeHR1cmVzL21vY2hhVW5kZXJzY29yZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztvQ0FBK0IseUJBQXlCOzs7OzBCQUMxQyxZQUFZOzs7O3FCQUVYLHVDQUFtQixZQUFNO0FBQ3RDLFNBQU87QUFDTCxLQUFDLHlCQUFHO0dBQ0wsQ0FBQztDQUNILENBQUMiLCJmaWxlIjoiL2FwcC9raXRzdW5lL3N1bW8vc3RhdGljL3N1bW8vanMvdGVzdHMvZml4dHVyZXMvbW9jaGFVbmRlcnNjb3JlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG1vY2hhRml4dHVyZUhlbHBlciBmcm9tICcuL21vY2hhRml4dHVyZUhlbHBlci5qcyc7XG5pbXBvcnQgXyBmcm9tICd1bmRlcnNjb3JlJztcblxuZXhwb3J0IGRlZmF1bHQgbW9jaGFGaXh0dXJlSGVscGVyKCgpID0+IHtcbiAgcmV0dXJuIHtcbiAgICBfOiBfLFxuICB9O1xufSk7XG4iXX0=", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaUnderscore.js" + ], + "names": [], + "mappings": ";;;;;;;;oCAA+B,yBAAyB;;;;0BAC1C,YAAY;;;;qBAEX,uCAAmB,YAAM;AACtC,SAAO;AACL,KAAC,yBAAG;GACL,CAAC;CACH,CAAC", + "file": "/app/kitsune/sumo/static/sumo/js/tests/fixtures/mochaUnderscore.js", + "sourcesContent": [ + "import mochaFixtureHelper from './mochaFixtureHelper.js';\nimport _ from 'underscore';\n\nexport default mochaFixtureHelper(() => {\n return {\n _: _,\n };\n});\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/tests/commonutilstests.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [ + { + "source": "mocha-jsdom", + "imported": [ + "default", + "rerequire" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJsdom" + }, + { + "kind": "named", + "imported": "rerequire", + "local": "rerequire" + } + ] + }, + { + "source": "chai", + "imported": [ + "default", + "expect" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "chai" + }, + { + "kind": "named", + "imported": "expect", + "local": "expect" + } + ] + }, + { + "source": "chai-lint", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "chaiLint" + } + ] + }, + { + "source": "sinon", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "sinon" + } + ] + }, + { + "source": "sinon-chai", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "sinonChai" + } + ] + }, + { + "source": "./fixtures/mochaK.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaK" + } + ] + }, + { + "source": "./fixtures/mochaJquery.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaJquery" + } + ] + }, + { + "source": "./fixtures/mochaUnderscore.js", + "imported": [ + "default" + ], + "specifiers": [ + { + "kind": "named", + "imported": "default", + "local": "mochaUnderscore" + } + ] + } + ], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [ + "interop-require-default" + ] + }, + "ignored": false, + "code": "'use strict';\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar _mochaJsdom = require('mocha-jsdom');\n\nvar _mochaJsdom2 = _interopRequireDefault(_mochaJsdom);\n\nvar _chai = require('chai');\n\nvar _chai2 = _interopRequireDefault(_chai);\n\nvar _chaiLint = require('chai-lint');\n\nvar _chaiLint2 = _interopRequireDefault(_chaiLint);\n\nvar _sinon = require('sinon');\n\nvar _sinon2 = _interopRequireDefault(_sinon);\n\nvar _sinonChai = require('sinon-chai');\n\nvar _sinonChai2 = _interopRequireDefault(_sinonChai);\n\nvar _fixturesMochaKJs = require('./fixtures/mochaK.js');\n\nvar _fixturesMochaKJs2 = _interopRequireDefault(_fixturesMochaKJs);\n\nvar _fixturesMochaJqueryJs = require('./fixtures/mochaJquery.js');\n\nvar _fixturesMochaJqueryJs2 = _interopRequireDefault(_fixturesMochaJqueryJs);\n\nvar _fixturesMochaUnderscoreJs = require('./fixtures/mochaUnderscore.js');\n\nvar _fixturesMochaUnderscoreJs2 = _interopRequireDefault(_fixturesMochaUnderscoreJs);\n\n_chai2['default'].use(_chaiLint2['default']);\n_chai2['default'].use(_sinonChai2['default']);\n\ndescribe('k', function () {\n (0, _mochaJsdom2['default'])({\n useEach: true,\n document: {\n referrer: 'http://google.com/?q=cookies',\n referer: 'http://google.com/?q=cookies'\n }\n });\n (0, _fixturesMochaJqueryJs2['default'])();\n (0, _fixturesMochaKJs2['default'])();\n (0, _fixturesMochaUnderscoreJs2['default'])();\n /* globals document:false, $:false, k:false */\n\n beforeEach(function () {\n (0, _mochaJsdom.rerequire)('../libs/jquery.placeholder.js');\n (0, _mochaJsdom.rerequire)('../main.js');\n });\n\n describe('getQueryParamsAsDict', function () {\n it('should return an empty object for no params', function () {\n var url = 'http://example.com';\n var params = k.getQueryParamsAsDict(url);\n (0, _chai.expect)(params).to.deep.equal({});\n });\n\n it('should parse a query string with one parameter', function () {\n var url = 'http://example.com/?test=woot';\n var params = k.getQueryParamsAsDict(url);\n (0, _chai.expect)(params).to.deep.equal({ test: 'woot' });\n });\n\n it('should parse a query string with two paramaters', function () {\n var url = 'http://example.com/?x=foo&y=bar';\n var params = k.getQueryParamsAsDict(url);\n (0, _chai.expect)(params).to.deep.equal({ x: 'foo', y: 'bar' });\n });\n\n it('should parse this Google url', function () {\n var url = 'http://www.google.com/url?sa=t&source=web&cd=1&sqi=2&' + 'ved=0CDEQFjAA&url=http%3A%2F%2Fsupport.mozilla.com%2F&' + 'rct=j&q=firefox%20help&ei=OsBSTpbZBIGtgQfgzv3yBg&' + 'usg=AFQjCNFIV7wgd9Pnr0m3Ofc7r1zVTNK8dw';\n var params = k.getQueryParamsAsDict(url);\n (0, _chai.expect)(params).to.deep.equal({\n sa: 't',\n source: 'web',\n cd: '1',\n sqi: '2',\n ved: '0CDEQFjAA',\n url: 'http://support.mozilla.com/',\n rct: 'j',\n q: 'firefox help',\n ei: 'OsBSTpbZBIGtgQfgzv3yBg',\n usg: 'AFQjCNFIV7wgd9Pnr0m3Ofc7r1zVTNK8dw'\n });\n });\n });\n\n describe('queryParamStringFromDict', function () {\n it('should serialize an empty dict into a ?', function () {\n var actual = k.queryParamStringFromDict({});\n (0, _chai.expect)(actual).to.equal('?');\n });\n\n it('it should serialize an object with a single key', function () {\n var actual = k.queryParamStringFromDict({ foo: 1 });\n (0, _chai.expect)(actual).to.equal('?foo=1');\n });\n\n it('should serialize an object with two keys', function () {\n var actual = k.queryParamStringFromDict({ foo: 1, bar: 2 });\n (0, _chai.expect)(actual).to.equal('?foo=1&bar=2');\n });\n\n it('should not include null or undefined in the output', function () {\n var actual = k.queryParamStringFromDict({ foo: undefined, bar: 2, baz: null });\n (0, _chai.expect)(actual).to.equal('?bar=2');\n });\n\n it('should serialize an object with three keys', function () {\n var actual = k.queryParamStringFromDict({ foo: 1, bar: 2, baz: 3 });\n (0, _chai.expect)(actual).to.deep.equal('?foo=1&bar=2&baz=3');\n });\n });\n\n describe('getReferrer', function () {\n it('should recognize search referrers', function () {\n var params = { as: 's', s: 'cookies' };\n var actual = k.getReferrer(params);\n (0, _chai.expect)(actual).to.equal('search');\n });\n\n it('should recognize inproduct referrers', function () {\n var params = { as: 'u' };\n var actual = k.getReferrer(params);\n (0, _chai.expect)(actual).to.equal('inproduct');\n });\n\n it('should fall back to `document.referrer`', function () {\n var referrer = 'http://google.com/?q=cookies';\n (0, _chai.expect)(document.referrer).to.equal(referrer);\n (0, _chai.expect)(k.getReferrer({})).to.equal(referrer);\n });\n });\n\n describe('getSearchQuery', function () {\n it('should return the s query string for local search referrers', function () {\n var params = { as: 's', s: 'cookies' };\n var referrer = 'search';\n (0, _chai.expect)(k.getSearchQuery(params, referrer)).to.equal('cookies');\n });\n\n it('should return an empty string fro inproduct referrers', function () {\n var params = { as: 'u', s: 'wrong' };\n var referrer = 'inproduct';\n (0, _chai.expect)(k.getSearchQuery(params, referrer)).to.equal('');\n });\n\n it('should detect external search parameters from google', function () {\n var referrer = 'http://google.com/?q=cookies';\n (0, _chai.expect)(k.getSearchQuery({}, referrer)).to.equal('cookies');\n });\n });\n\n describe('unquote', function () {\n it('should return undefined for undefined input', function () {\n (0, _chai.expect)(k.unquote(undefined)).to.beUndefined();\n });\n\n it('should unquote simply quoted strings', function () {\n (0, _chai.expect)(k.unquote('\"delete cookies\"')).to.equal('delete cookies');\n });\n\n it('should handle escaped quotes', function () {\n (0, _chai.expect)(k.unquote('\"\\\\\"delete\\\\\" cookies\"')).to.equal('\"delete\" cookies');\n });\n\n it('should handle escaped quotes with no other quotes', function () {\n (0, _chai.expect)(k.unquote('\\\\\"delete\\\\\" cookies')).to.equal('\"delete\" cookies');\n });\n\n it('should pass strings without quotes through unmodified', function () {\n var s = 'cookies';\n (0, _chai.expect)(k.unquote(s)).to.equal(s);\n });\n });\n\n describe('safeString', function () {\n it('should escape html', function () {\n var unsafeString = '';\n var safeString = '<a href="foo&'">';\n (0, _chai.expect)(k.safeString(unsafeString)).to.equal(safeString);\n });\n });\n\n describe('safeInterpolate', function () {\n /* k.safeInterpolate works by delegating to `interpolate`, a Django\n * gettext function. These tests mock out interpolate and make sure\n * it was called appropriately.\n */\n var interpolateSpy = undefined;\n\n beforeEach(function () {\n interpolateSpy = global.interpolate = _sinon2['default'].spy();\n });\n\n it('should interpolate positional user input', function () {\n var html = 'Firefox keeps crashing
\n\n This is my crash ID:
\n bp-6ec83338-f37e-4ee1-aef4-0e66c2120808\n
Firefox keeps crashing
\n\n Here's a list of my crash IDs (copied directly from about:crashes):
\n bp-6ec83338-f37e-4ee1-aef4-0e66c212080808.08.1217:52\n bp-d8951614-c928-44ed-902c-6ccb6212080808.08.1217:52\n bp-5eb7d4ec-5f9e-4cbf-9335-a574c212071717.07.1211:29\n bp-15a73687-dabf-4014-9c03-b97b3212071717.07.1211:27\n bp-f894adf7-9ff8-4f21-8564-da425212071111.07.1218:22\n
The following will look like an invalid crash ID that hasn't been processed yet:
\n765879E6-CFE7-43A7-BE93-B2F322E67649
\nNow, crash IDs without 'bp-' at the beginning shouldn't get linked either
\n6ec83338-f37e-4ee1-aef4-0e66c2120808
\n' +\n '
' +\n '
' +\n '' +\n '\\r\\n';\n quote += previousContent + '\\r\\n';\n quote += '\\r\\n';\n\n return new Marky.SimpleButton(name, quote, '', '', 'btn-quote', true);\n };\n\n window.Marky = Marky;\n\n})(jQuery, gettext, document);\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/questions.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/* globals trackEvent:false, k:false, _:false, Marky:false, AAQSystemInfo:false, KBox:false, gettext:false, template:false, jQuery:false */\n/*\n* questions.js\n* Scripts for the questions app.\n*/\n\n// TODO: Figure out how to break out the functionality here into\n'use strict';\n\n(function ($) {\n\n function init() {\n var $body = $('body');\n\n if ($body.is('.new-question')) {\n initNewQuestion();\n\n if (window.location.search.indexOf('step=aaq-register') > -1) {\n trackEvent('Ask A Question Flow', 'step 1 page');\n } else if (window.location.search.indexOf('step=aaq-question') > -1) {\n trackEvent('Ask A Question Flow', 'step 2 page');\n }\n }\n\n if ($body.is('.questions')) {\n initTagFilterToggle();\n\n $('#flag-filter input[type=\"checkbox\"]').on('click', function () {\n window.location = $(this).data('url');\n });\n\n if (window.location.pathname.indexOf('questions/new/confirm') > -1) {\n trackEvent('Ask A Question Flow', 'step 3 confirm page');\n }\n }\n\n if ($body.is('.answers')) {\n var takeQuestion = function takeQuestion() {\n if ($(this).val().length > 0) {\n var $form = $(this).closest('form');\n var url = $form.data('take-question-url');\n var csrftoken = $('input[name=csrfmiddlewaretoken]').val();\n $.ajax({\n url: url,\n method: 'POST',\n beforeSend: function beforeSend(xhr, settings) {\n xhr.setRequestHeader('X-CSRFToken', csrftoken);\n }\n });\n }\n };\n\n // Put last search query into search box\n $('#support-search input[name=q]').val(k.unquote($.cookie('last_search')));\n\n $('#id_content').on('keyup', _.throttle(takeQuestion, 1000));\n\n $(document).on('click', '#details-edit', function (ev) {\n ev.preventDefault();\n $('#question-details').addClass('editing');\n });\n\n initHaveThisProblemTooAjax();\n initHelpfulVote();\n initCrashIdLinking();\n initEditDetails();\n addReferrerAndQueryToVoteForm();\n initReplyToAnswer();\n new k.AjaxPreview($('#preview')); // eslint-disable-line\n }\n\n Marky.createSimpleToolbar('.editor-tools', '#reply-content, #id_content', { cannedResponses: !$body.is('.new-question') });\n\n // product selector page reloading\n $('#product-selector select').on('change', function () {\n var val = $(this).val();\n var queryParams = k.getQueryParamsAsDict(document.location.toString());\n\n if (val === '') {\n delete queryParams.product;\n } else {\n queryParams.product = val;\n }\n document.location = document.location.pathname + '?' + $.param(queryParams);\n });\n\n // topic selector page reloading\n $('#topic-selector select').on('change', function () {\n var val = $(this).val();\n var queryParams = k.getQueryParamsAsDict(document.location.toString());\n\n if (val === '') {\n delete queryParams.topic;\n } else {\n queryParams.topic = val;\n }\n document.location = document.location.pathname + '?' + $.param(queryParams);\n });\n }\n\n /*\n * Initialize the new question page/form\n */\n function initNewQuestion() {\n var $questionForm = $('#question-form');\n var aaq = new AAQSystemInfo($questionForm);\n hideDetails($questionForm, aaq);\n }\n\n function isLoggedIn() {\n return $('#greeting span.user').length > 0;\n }\n\n // Handle changes to the details for a question\n function initEditDetails() {\n $('#details-product').on('change', function () {\n var $selected;\n\n $(this).children().each(function () {\n if (this.selected) {\n $selected = $(this);\n }\n });\n\n $('#details-topic').children().remove();\n $('#details-submit').prop('disabled', true);\n\n $.ajax($selected.data('url'), {\n 'dataType': 'json',\n 'success': function success(data) {\n for (var i = 0; i < data.topics.length; i++) {\n var topic = data.topics[i];\n var $opt = $('');\n\n $opt.attr('value', topic.id);\n $opt.text(topic.title);\n\n $('#details-topic').append($opt);\n }\n $('#details-submit').prop('disabled', false);\n }\n });\n });\n }\n\n // Hide the browser/system details for users on FF with js enabled\n // and are submitting a question for FF on desktop.\n function hideDetails($form, aaq) {\n $form.find('ul').addClass('hide-details');\n $form.find('a.show, a.hide').click(function (ev) {\n ev.preventDefault();\n $(this).closest('li').toggleClass('show').toggleClass('hide').closest('ul').toggleClass('show-details');\n });\n\n if (!aaq.isDesktopFF() && !aaq.isMobileFF() && !aaq.isFirefoxOS()) {\n $form.find('li.system-details-info').hide();\n }\n }\n\n /*\n * Ajaxify any \"I have this problem too\" forms (may be multiple per page)\n */\n function initHaveThisProblemTooAjax() {\n var $container = $('#question div.me-too, .question-tools div.me-too');\n\n // ajaxify each form individually so the resulting kbox attaches to\n // the correct DOM element\n $container.each(function () {\n initAjaxForm($(this), 'form', '#vote-thanks');\n });\n\n $container.find('input').click(function () {\n $(this).attr('disabled', 'disabled');\n });\n\n // closing or cancelling the kbox on any of the forms should remove\n // all of them\n $container.delegate('.kbox-close, .kbox-cancel', 'click', function (ev) {\n ev.preventDefault();\n $container.unbind().remove();\n });\n }\n\n function addReferrerAndQueryToVoteForm() {\n // Add the source/referrer and query terms to the helpful vote form\n var urlParams = k.getQueryParamsAsDict(),\n referrer = k.getReferrer(urlParams),\n query = k.getSearchQuery(urlParams, referrer);\n $('form.helpful, .me-too form').append($('').attr('value', referrer)).append($('').attr('value', query));\n }\n\n /*\n * Ajaxify the Helpful/Not Helpful form\n */\n function initHelpfulVote() {\n $('li.answer div.side-section, .answer-tools').each(function () {\n new k.AjaxVote($(this).find('form.helpful'), { // eslint-disable-line\n positionMessage: true,\n removeForm: true\n });\n });\n }\n\n // Helper\n function initAjaxForm($container, formSelector, boxSelector, onKboxClose) {\n $container.delegate(formSelector, 'submit', function (ev) {\n ev.preventDefault();\n var $form = $(this);\n var url = $form.attr('action');\n var data = $form.serialize();\n\n $.ajax({\n url: url,\n type: 'POST',\n data: data,\n dataType: 'json',\n success: function success(response) {\n if (response.html) {\n if ($(boxSelector).length === 0) {\n // We don't have a modal set up yet.\n var kbox = new KBox(response.html, {\n container: $container,\n preClose: onKboxClose\n });\n kbox.open();\n } else {\n $(boxSelector).html($(response.html).children());\n }\n } else if (response.message) {\n var html = '';\n $(boxSelector).html(html).find('.msg').text(response.message);\n }\n\n if (!response.ignored) {\n // Trigger a document event for others to listen for.\n $(document).trigger('vote', $.extend(data, { url: url }));\n }\n },\n error: function error() {\n var message = gettext('There was an error.');\n alert(message); // eslint-disable-line\n }\n });\n\n return false;\n });\n }\n\n function initTagFilterToggle() {\n $('#toggle-tag-filter').click(function (e) {\n e.preventDefault();\n $('#tag-filter').slideToggle('fast'); // CSS3: Y U NO TRANSITION TO `height: auto;`?\n $(this).toggleClass('off');\n });\n }\n\n /*\n * Links all crash IDs found in the passed HTML container elements\n */\n function linkCrashIds(container) {\n if (!container) {\n return;\n }\n var crashIDRegex = new RegExp('(bp-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})', 'g');\n var crashStatsBase = 'https://crash-stats.mozilla.com/report/index/';\n var helpingWithCrashesArticle = '/kb/helping-crashes';\n var iconPath = $('body').data('static-url') + 'sumo/img/questions/icon.questionmark.png';\n var crashReportContainer = \"\" + \"$1\" + \"\" + \"
\\n{text}\\n\\n\\n\"),\n reply_text,\n $textarea = $('#id_content'),\n oldtext = $textarea.val();\n\n reply_text = reply({ 'user': user, 'contentId': contentId, 'text': text, 'said': gettext('said') });\n\n $textarea.val(oldtext + reply_text);\n\n setTimeout(function () {\n $textarea.focus();\n }, 10);\n\n return true;\n });\n }\n\n $(document).ready(init);\n})(jQuery);\n// testable parts.\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3F1ZXN0aW9ucy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFTQSxDQUFDLFVBQVMsQ0FBQyxFQUFFOztBQUVYLFdBQVMsSUFBSSxHQUFHO0FBQ2QsUUFBSSxLQUFLLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUV0QixRQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsZUFBZSxDQUFDLEVBQUU7QUFDN0IscUJBQWUsRUFBRSxDQUFDOztBQUVsQixVQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQzVELGtCQUFVLENBQUMscUJBQXFCLEVBQUUsYUFBYSxDQUFDLENBQUM7T0FDbEQsTUFBTSxJQUFJLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO0FBQ25FLGtCQUFVLENBQUMscUJBQXFCLEVBQUUsYUFBYSxDQUFDLENBQUM7T0FDbEQ7S0FDRjs7QUFFRCxRQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUU7QUFDMUIseUJBQW1CLEVBQUUsQ0FBQzs7QUFFdEIsT0FBQyxDQUFDLHFDQUFxQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxZQUFXO0FBQzlELGNBQU0sQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztPQUN2QyxDQUFDLENBQUM7O0FBRUgsVUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtBQUNsRSxrQkFBVSxDQUFDLHFCQUFxQixFQUFFLHFCQUFxQixDQUFDLENBQUM7T0FDMUQ7S0FDRjs7QUFF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QztDQUV6QixDQUFBLENBQUUsTUFBTSxDQUFDLENBQUMiLCJmaWxlIjoiL2FwcC9raXRzdW5lL3N1bW8vc3RhdGljL3N1bW8vanMvcXVlc3Rpb25zLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFscyB0cmFja0V2ZW50OmZhbHNlLCBrOmZhbHNlLCBfOmZhbHNlLCBNYXJreTpmYWxzZSwgQUFRU3lzdGVtSW5mbzpmYWxzZSwgS0JveDpmYWxzZSwgZ2V0dGV4dDpmYWxzZSwgdGVtcGxhdGU6ZmFsc2UsIGpRdWVyeTpmYWxzZSAqL1xuLypcbiogcXVlc3Rpb25zLmpzXG4qIFNjcmlwdHMgZm9yIHRoZSBxdWVzdGlvbnMgYXBwLlxuKi9cblxuLy8gVE9ETzogRmlndXJlIG91dCBob3cgdG8gYnJlYWsgb3V0IHRoZSBmdW5jdGlvbmFsaXR5IGhlcmUgaW50b1xuLy8gdGVzdGFibGUgcGFydHMuXG5cbihmdW5jdGlvbigkKSB7XG5cbiAgZnVuY3Rpb24gaW5pdCgpIHtcbiAgICB2YXIgJGJvZHkgPSAkKCdib2R5Jyk7XG5cbiAgICBpZiAoJGJvZHkuaXMoJy5uZXctcXVlc3Rpb24nKSkge1xuICAgICAgaW5pdE5ld1F1ZXN0aW9uKCk7XG5cbiAgICAgIGlmICh3aW5kb3cubG9jYXRpb24uc2VhcmNoLmluZGV4T2YoJ3N0ZXA9YWFxLXJlZ2lzdGVyJykgPiAtMSkge1xuICAgICAgICB0cmFja0V2ZW50KCdBc2sgQSBRdWVzdGlvbiBGbG93JywgJ3N0ZXAgMSBwYWdlJyk7XG4gICAgICB9IGVsc2UgaWYgKHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guaW5kZXhPZignc3RlcD1hYXEtcXVlc3Rpb24nKSA+IC0xKSB7XG4gICAgICAgIHRyYWNrRXZlbnQoJ0FzayBBIFF1ZXN0aW9uIEZsb3cnLCAnc3RlcCAyIHBhZ2UnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoJGJvZHkuaXMoJy5xdWVzdGlvbnMnKSkge1xuICAgICAgaW5pdFRhZ0ZpbHRlclRvZ2dsZSgpO1xuXG4gICAgICAkKCcjZmxhZy1maWx0ZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJykub24oJ2NsaWNrJywgZnVuY3Rpb24oKSB7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbiA9ICQodGhpcykuZGF0YSgndXJsJyk7XG4gICAgICB9KTtcblxuICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmRleE9mKCdxdWVzdGlvbnMvbmV3L2NvbmZpcm0nKSA+IC0xKSB7XG4gICAgICAgIHRyYWNrRXZlbnQoJ0FzayBBIFF1ZXN0aW9uIEZsb3cnLCAnc3RlcCAzIGNvbmZpcm0gcGFnZScpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICgkYm9keS5pcygnLmFuc3dlcnMnKSkge1xuICAgICAgLy8gUHV0IGxhc3Qgc2VhcmNoIHF1ZXJ5IGludG8gc2VhcmNoIGJveFxuICAgICAgJCgnI3N1cHBvcnQtc2VhcmNoIGlucHV0W25hbWU9cV0nKVxuICAgICAgLnZhbChrLnVucXVvdGUoJC5jb29raWUoJ2xhc3Rfc2VhcmNoJykpKTtcblxuICAgICAgZnVuY3Rpb24gdGFrZVF1ZXN0aW9uKCkge1xuICAgICAgICBpZiAoJCh0aGlzKS52YWwoKS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgdmFyICRmb3JtID0gJCh0aGlzKS5jbG9zZXN0KCdmb3JtJyk7XG4gICAgICAgICAgdmFyIHVybCA9ICRmb3JtLmRhdGEoJ3Rha2UtcXVlc3Rpb24tdXJsJyk7XG4gICAgICAgICAgdmFyIGNzcmZ0b2tlbiA9ICQoJ2lucHV0W25hbWU9Y3NyZm1pZGRsZXdhcmV0b2tlbl0nKS52YWwoKTtcbiAgICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIGJlZm9yZVNlbmQ6IGZ1bmN0aW9uKHhociwgc2V0dGluZ3MpIHtcbiAgICAgICAgICAgICAgeGhyLnNldFJlcXVlc3RIZWFkZXIoJ1gtQ1NSRlRva2VuJywgY3NyZnRva2VuKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkKCcjaWRfY29udGVudCcpLm9uKCdrZXl1cCcsIF8udGhyb3R0bGUodGFrZVF1ZXN0aW9uLCAxMDAwKSk7XG5cbiAgICAgICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICcjZGV0YWlscy1lZGl0JywgZnVuY3Rpb24oZXYpIHtcbiAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgJCgnI3F1ZXN0aW9uLWRldGFpbHMnKS5hZGRDbGFzcygnZWRpdGluZycpO1xuICAgICAgfSk7XG5cbiAgICAgIGluaXRIYXZlVGhpc1Byb2JsZW1Ub29BamF4KCk7XG4gICAgICBpbml0SGVscGZ1bFZvdGUoKTtcbiAgICAgIGluaXRDcmFzaElkTGlua2luZygpO1xuICAgICAgaW5pdEVkaXREZXRhaWxzKCk7XG4gICAgICBhZGRSZWZlcnJlckFuZFF1ZXJ5VG9Wb3RlRm9ybSgpO1xuICAgICAgaW5pdFJlcGx5VG9BbnN3ZXIoKTtcbiAgICAgIG5ldyBrLkFqYXhQcmV2aWV3KCQoJyNwcmV2aWV3JykpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgfVxuXG4gICAgTWFya3kuY3JlYXRlU2ltcGxlVG9vbGJhcignLmVkaXRvci10b29scycsICcjcmVwbHktY29udGVudCwgI2lkX2NvbnRlbnQnLCB7Y2FubmVkUmVzcG9uc2VzOiAhJGJvZHkuaXMoJy5uZXctcXVlc3Rpb24nKX0pO1xuXG4gICAgLy8gcHJvZHVjdCBzZWxlY3RvciBwYWdlIHJlbG9hZGluZ1xuICAgICQoJyNwcm9kdWN0LXNlbGVjdG9yIHNlbGVjdCcpLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHtcbiAgICAgIHZhciB2YWwgPSAkKHRoaXMpLnZhbCgpO1xuICAgICAgdmFyIHF1ZXJ5UGFyYW1zID0gay5nZXRRdWVyeVBhcmFtc0FzRGljdChkb2N1bWVudC5sb2NhdGlvbi50b1N0cmluZygpKTtcblxuICAgICAgaWYgKHZhbCA9PT0gJycpIHtcbiAgICAgICAgZGVsZXRlIHF1ZXJ5UGFyYW1zLnByb2R1Y3Q7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeVBhcmFtcy5wcm9kdWN0ID0gdmFsO1xuICAgICAgfVxuICAgICAgZG9jdW1lbnQubG9jYXRpb24gPSBkb2N1bWVudC5sb2NhdGlvbi5wYXRobmFtZSArICc/JyArICQucGFyYW0ocXVlcnlQYXJhbXMpO1xuICAgIH0pO1xuXG4gICAgLy8gdG9waWMgc2VsZWN0b3IgcGFnZSByZWxvYWRpbmdcbiAgICAkKCcjdG9waWMtc2VsZWN0b3Igc2VsZWN0Jykub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIHZhbCA9ICQodGhpcykudmFsKCk7XG4gICAgICB2YXIgcXVlcnlQYXJhbXMgPSBrLmdldFF1ZXJ5UGFyYW1zQXNEaWN0KGRvY3VtZW50LmxvY2F0aW9uLnRvU3RyaW5nKCkpO1xuXG4gICAgICBpZiAodmFsID09PSAnJykge1xuICAgICAgICBkZWxldGUgcXVlcnlQYXJhbXMudG9waWM7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeVBhcmFtcy50b3BpYyA9IHZhbDtcbiAgICAgIH1cbiAgICAgIGRvY3VtZW50LmxvY2F0aW9uID0gZG9jdW1lbnQubG9jYXRpb24ucGF0aG5hbWUgKyAnPycgKyAkLnBhcmFtKHF1ZXJ5UGFyYW1zKTtcbiAgICB9KTtcblxuICB9XG5cbiAgLypcbiAgKiBJbml0aWFsaXplIHRoZSBuZXcgcXVlc3Rpb24gcGFnZS9mb3JtXG4gICovXG4gIGZ1bmN0aW9uIGluaXROZXdRdWVzdGlvbigpIHtcbiAgICB2YXIgJHF1ZXN0aW9uRm9ybSA9ICQoJyNxdWVzdGlvbi1mb3JtJyk7XG4gICAgdmFyIGFhcSA9IG5ldyBBQVFTeXN0ZW1JbmZvKCRxdWVzdGlvbkZvcm0pO1xuICAgIGhpZGVEZXRhaWxzKCRxdWVzdGlvbkZvcm0sIGFhcSk7XG4gIH1cblxuICBmdW5jdGlvbiBpc0xvZ2dlZEluKCkge1xuICAgIHJldHVybiAkKCcjZ3JlZXRpbmcgc3Bhbi51c2VyJykubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8vIEhhbmRsZSBjaGFuZ2VzIHRvIHRoZSBkZXRhaWxzIGZvciBhIHF1ZXN0aW9uXG4gIGZ1bmN0aW9uIGluaXRFZGl0RGV0YWlscygpIHtcbiAgICAkKCcjZGV0YWlscy1wcm9kdWN0Jykub24oJ2NoYW5nZScsIGZ1bmN0aW9uKCkge1xuICAgICAgdmFyICRzZWxlY3RlZDtcblxuICAgICAgJCh0aGlzKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICAgICAgJHNlbGVjdGVkID0gJCh0aGlzKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgICQoJyNkZXRhaWxzLXRvcGljJykuY2hpbGRyZW4oKS5yZW1vdmUoKTtcbiAgICAgICQoJyNkZXRhaWxzLXN1Ym1pdCcpLnByb3AoJ2Rpc2FibGVkJywgdHJ1ZSk7XG5cbiAgICAgICQuYWpheCgkc2VsZWN0ZWQuZGF0YSgndXJsJyksIHtcbiAgICAgICAgJ2RhdGFUeXBlJzogJ2pzb24nLFxuICAgICAgICAnc3VjY2Vzcyc6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGRhdGEudG9waWNzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgdG9waWMgPSBkYXRhLnRvcGljc1tpXTtcbiAgICAgICAgICAgIHZhciAkb3B0ID0gJCgnPG9wdGlvbiAvPicpO1xuXG4gICAgICAgICAgICAkb3B0LmF0dHIoJ3ZhbHVlJywgdG9waWMuaWQpO1xuICAgICAgICAgICAgJG9wdC50ZXh0KHRvcGljLnRpdGxlKTtcblxuICAgICAgICAgICAgJCgnI2RldGFpbHMtdG9waWMnKS5hcHBlbmQoJG9wdCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICQoJyNkZXRhaWxzLXN1Ym1pdCcpLnByb3AoJ2Rpc2FibGVkJywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGJyb3dzZXIvc3lzdGVtIGRldGFpbHMgZm9yIHVzZXJzIG9uIEZGIHdpdGgganMgZW5hYmxlZFxuICAvLyBhbmQgYXJlIHN1Ym1pdHRpbmcgYSBxdWVzdGlvbiBmb3IgRkYgb24gZGVza3RvcC5cbiAgZnVuY3Rpb24gaGlkZURldGFpbHMoJGZvcm0sIGFhcSkge1xuICAgICRmb3JtLmZpbmQoJ3VsJykuYWRkQ2xhc3MoJ2hpZGUtZGV0YWlscycpO1xuICAgICRmb3JtLmZpbmQoJ2Euc2hvdywgYS5oaWRlJykuY2xpY2soZnVuY3Rpb24oZXYpIHtcbiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAkKHRoaXMpLmNsb3Nlc3QoJ2xpJylcbiAgICAgIC50b2dnbGVDbGFzcygnc2hvdycpXG4gICAgICAudG9nZ2xlQ2xhc3MoJ2hpZGUnKVxuICAgICAgLmNsb3Nlc3QoJ3VsJylcbiAgICAgIC50b2dnbGVDbGFzcygnc2hvdy1kZXRhaWxzJyk7XG4gICAgfSk7XG5cbiAgICBpZiAoIWFhcS5pc0Rlc2t0b3BGRigpICYmICFhYXEuaXNNb2JpbGVGRigpICYmICFhYXEuaXNGaXJlZm94T1MoKSkge1xuICAgICAgJGZvcm0uZmluZCgnbGkuc3lzdGVtLWRldGFpbHMtaW5mbycpLmhpZGUoKTtcbiAgICB9XG4gIH1cblxuICAvKlxuICAqIEFqYXhpZnkgYW55IFwiSSBoYXZlIHRoaXMgcHJvYmxlbSB0b29cIiBmb3JtcyAobWF5IGJlIG11bHRpcGxlIHBlciBwYWdlKVxuICAqL1xuICBmdW5jdGlvbiBpbml0SGF2ZVRoaXNQcm9ibGVtVG9vQWpheCgpIHtcbiAgICB2YXIgJGNvbnRhaW5lciA9ICQoJyNxdWVzdGlvbiBkaXYubWUtdG9vLCAucXVlc3Rpb24tdG9vbHMgZGl2Lm1lLXRvbycpO1xuXG4gICAgLy8gYWpheGlmeSBlYWNoIGZvcm0gaW5kaXZpZHVhbGx5IHNvIHRoZSByZXN1bHRpbmcga2JveCBhdHRhY2hlcyB0b1xuICAgIC8vIHRoZSBjb3JyZWN0IERPTSBlbGVtZW50XG4gICAgJGNvbnRhaW5lci5lYWNoKGZ1bmN0aW9uKCkge1xuICAgICAgaW5pdEFqYXhGb3JtKCQodGhpcyksICdmb3JtJywgJyN2b3RlLXRoYW5rcycpO1xuICAgIH0pO1xuXG4gICAgJGNvbnRhaW5lci5maW5kKCdpbnB1dCcpLmNsaWNrKGZ1bmN0aW9uKCkge1xuICAgICAgJCh0aGlzKS5hdHRyKCdkaXNhYmxlZCcsICdkaXNhYmxlZCcpO1xuICAgIH0pO1xuXG4gICAgLy8gY2xvc2luZyBvciBjYW5jZWxsaW5nIHRoZSBrYm94IG9uIGFueSBvZiB0aGUgZm9ybXMgc2hvdWxkIHJlbW92ZVxuICAgIC8vIGFsbCBvZiB0aGVtXG4gICAgJGNvbnRhaW5lci5kZWxlZ2F0ZSgnLmtib3gtY2xvc2UsIC5rYm94LWNhbmNlbCcsICdjbGljaycsIGZ1bmN0aW9uKGV2KSB7XG4gICAgICBldi5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgJGNvbnRhaW5lci51bmJpbmQoKS5yZW1vdmUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGFkZFJlZmVycmVyQW5kUXVlcnlUb1ZvdGVGb3JtKCkge1xuICAgIC8vIEFkZCB0aGUgc291cmNlL3JlZmVycmVyIGFuZCBxdWVyeSB0ZXJtcyB0byB0aGUgaGVscGZ1bCB2b3RlIGZvcm1cbiAgICB2YXIgdXJsUGFyYW1zID0gay5nZXRRdWVyeVBhcmFtc0FzRGljdCgpLFxuICAgICAgcmVmZXJyZXIgPSBrLmdldFJlZmVycmVyKHVybFBhcmFtcyksXG4gICAgICBxdWVyeSA9IGsuZ2V0U2VhcmNoUXVlcnkodXJsUGFyYW1zLCByZWZlcnJlcik7XG4gICAgJCgnZm9ybS5oZWxwZnVsLCAubWUtdG9vIGZvcm0nKVxuICAgIC5hcHBlbmQoJCgnPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBuYW1lPVwicmVmZXJyZXJcIi8+JylcbiAgICAuYXR0cigndmFsdWUnLCByZWZlcnJlcikpXG4gICAgLmFwcGVuZCgkKCc8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCJxdWVyeVwiLz4nKVxuICAgIC5hdHRyKCd2YWx1ZScsIHF1ZXJ5KSk7XG4gIH1cblxuICAvKlxuICAqIEFqYXhpZnkgdGhlIEhlbHBmdWwvTm90IEhlbHBmdWwgZm9ybVxuICAqL1xuICBmdW5jdGlvbiBpbml0SGVscGZ1bFZvdGUoKSB7XG4gICAgJCgnbGkuYW5zd2VyIGRpdi5zaWRlLXNlY3Rpb24sIC5hbnN3ZXItdG9vbHMnKS5lYWNoKGZ1bmN0aW9uKCkge1xuICAgICAgbmV3IGsuQWpheFZvdGUoJCh0aGlzKS5maW5kKCdmb3JtLmhlbHBmdWwnKSwgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lXG4gICAgICAgIHBvc2l0aW9uTWVzc2FnZTogdHJ1ZSxcbiAgICAgICAgcmVtb3ZlRm9ybTogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvLyBIZWxwZXJcbiAgZnVuY3Rpb24gaW5pdEFqYXhGb3JtKCRjb250YWluZXIsIGZvcm1TZWxlY3RvciwgYm94U2VsZWN0b3IsIG9uS2JveENsb3NlKSB7XG4gICAgJGNvbnRhaW5lci5kZWxlZ2F0ZShmb3JtU2VsZWN0b3IsICdzdWJtaXQnLCBmdW5jdGlvbihldikge1xuICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHZhciAkZm9ybSA9ICQodGhpcyk7XG4gICAgICB2YXIgdXJsID0gJGZvcm0uYXR0cignYWN0aW9uJyk7XG4gICAgICB2YXIgZGF0YSA9ICRmb3JtLnNlcmlhbGl6ZSgpO1xuXG4gICAgICAkLmFqYXgoe1xuICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgdHlwZTogJ1BPU1QnLFxuICAgICAgICBkYXRhOiBkYXRhLFxuICAgICAgICBkYXRhVHlwZTogJ2pzb24nLFxuICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXNwb25zZSkge1xuICAgICAgICAgIGlmIChyZXNwb25zZS5odG1sKSB7XG4gICAgICAgICAgICBpZiAoJChib3hTZWxlY3RvcikubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIC8vIFdlIGRvbid0IGhhdmUgYSBtb2RhbCBzZXQgdXAgeWV0LlxuICAgICAgICAgICAgICB2YXIga2JveCA9IG5ldyBLQm94KHJlc3BvbnNlLmh0bWwsIHtcbiAgICAgICAgICAgICAgICBjb250YWluZXI6ICRjb250YWluZXIsXG4gICAgICAgICAgICAgICAgcHJlQ2xvc2U6IG9uS2JveENsb3NlXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBrYm94Lm9wZW4oKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICQoYm94U2VsZWN0b3IpLmh0bWwoJChyZXNwb25zZS5odG1sKS5jaGlsZHJlbigpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKHJlc3BvbnNlLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHZhciBodG1sID0gJzxkaXYgY2xhc3M9XCJtc2dcIj48L2Rpdj4nO1xuICAgICAgICAgICAgJChib3hTZWxlY3RvcilcbiAgICAgICAgICAgIC5odG1sKGh0bWwpXG4gICAgICAgICAgICAuZmluZCgnLm1zZycpLnRleHQocmVzcG9uc2UubWVzc2FnZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFyZXNwb25zZS5pZ25vcmVkKSB7XG4gICAgICAgICAgICAvLyBUcmlnZ2VyIGEgZG9jdW1lbnQgZXZlbnQgZm9yIG90aGVycyB0byBsaXN0ZW4gZm9yLlxuICAgICAgICAgICAgJChkb2N1bWVudCkudHJpZ2dlcigndm90ZScsICQuZXh0ZW5kKGRhdGEsIHt1cmw6IHVybH0pKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgICB2YXIgbWVzc2FnZSA9IGdldHRleHQoJ1RoZXJlIHdhcyBhbiBlcnJvci4nKTtcbiAgICAgICAgICBhbGVydChtZXNzYWdlKTsgLy8gZXNsaW50LWRpc2FibGUtbGluZVxuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gaW5pdFRhZ0ZpbHRlclRvZ2dsZSgpIHtcbiAgICAkKCcjdG9nZ2xlLXRhZy1maWx0ZXInKS5jbGljayhmdW5jdGlvbihlKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAkKCcjdGFnLWZpbHRlcicpLnNsaWRlVG9nZ2xlKCdmYXN0Jyk7ICAvLyBDU1MzOiBZIFUgTk8gVFJBTlNJVElPTiBUTyBgaGVpZ2h0OiBhdXRvO2A/XG4gICAgICAkKHRoaXMpLnRvZ2dsZUNsYXNzKCdvZmYnKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qXG4gICogTGlua3MgYWxsIGNyYXNoIElEcyBmb3VuZCBpbiB0aGUgcGFzc2VkIEhUTUwgY29udGFpbmVyIGVsZW1lbnRzXG4gICovXG4gIGZ1bmN0aW9uIGxpbmtDcmFzaElkcyhjb250YWluZXIpIHtcbiAgICBpZiAoIWNvbnRhaW5lcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgY3Jhc2hJRFJlZ2V4ID0gbmV3IFJlZ0V4cCgnKGJwLVthLWYwLTldezh9LVthLWYwLTldezR9LVthLWYwLTldezR9LVthLWYwLTldezR9LVthLWYwLTldezEyfSknLCAnZycpO1xuICAgIHZhciBjcmFzaFN0YXRzQmFzZSA9ICdodHRwczovL2NyYXNoLXN0YXRzLm1vemlsbGEuY29tL3JlcG9ydC9pbmRleC8nO1xuICAgIHZhciBoZWxwaW5nV2l0aENyYXNoZXNBcnRpY2xlID0gJy9rYi9oZWxwaW5nLWNyYXNoZXMnO1xuICAgIHZhciBpY29uUGF0aCA9ICQoJ2JvZHknKS5kYXRhKCdzdGF0aWMtdXJsJykgKyAnc3Vtby9pbWcvcXVlc3Rpb25zL2ljb24ucXVlc3Rpb25tYXJrLnBuZyc7XG4gICAgdmFyIGNyYXNoUmVwb3J0Q29udGFpbmVyID1cbiAgICBcIjxzcGFuIGNsYXNzPSdjcmFzaC1yZXBvcnQnPlwiICtcbiAgICBcIjxhIGhyZWY9J1wiICsgY3Jhc2hTdGF0c0Jhc2UgKyBcIiQxJyB0YXJnZXQ9J19ibGFuayc+JDE8L2E+XCIgK1xuICAgIFwiPGEgaHJlZj0nXCIgKyBoZWxwaW5nV2l0aENyYXNoZXNBcnRpY2xlICsgXCInIHRhcmdldD0nX2JsYW5rJz5cIiArXG4gICAgXCI8aW1nIHNyYz0nXCIgKyBpY29uUGF0aCArIFwiJz48L2ltZz48L2E+PC9zcGFuPlwiO1xuXG4gICAgY29udGFpbmVyLmh0bWwoY29udGFpbmVyLmh0bWwoKS5yZXBsYWNlKGNyYXNoSURSZWdleCwgY3Jhc2hSZXBvcnRDb250YWluZXIpKTtcbiAgfVxuXG4gIC8vIEZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHk6XG4gIGsubGlua0NyYXNoSWRzID0gbGlua0NyYXNoSWRzO1xuXG4gIC8qXG4gICogSW5pdGlhbGl6ZSB0aGUgYXV0b21hdGljIGxpbmtpbmcgb2YgY3Jhc2ggSURzXG4gICovXG4gIGZ1bmN0aW9uIGluaXRDcmFzaElkTGlua2luZygpIHtcbiAgICB2YXIgcG9zdENvbnRlbnRzID0gJCgnLnF1ZXN0aW9uIC5tYWluLWNvbnRlbnQsIC5hbnN3ZXIgLm1haW4tY29udGVudCwgI21vcmUtc3lzdGVtLWRldGFpbHMnKTtcbiAgICBwb3N0Q29udGVudHMuZWFjaChmdW5jdGlvbigpIHtcbiAgICAgIGxpbmtDcmFzaElkcygkKHRoaXMpKTtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGluaXRSZXBseVRvQW5zd2VyKCkge1xuICAgICQoJ2EucXVvdGVkLXJlcGx5JykuY2xpY2soZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgY29udGVudElkID0gJCh0aGlzKS5kYXRhKCdjb250ZW50LWlkJyksXG4gICAgICAgICRjb250ZW50ID0gJCgnIycgKyBjb250ZW50SWQpLFxuICAgICAgICB0ZXh0ID0gJGNvbnRlbnQuZmluZCgnLmNvbnRlbnQtcmF3JykudGV4dCgpLFxuICAgICAgICB1c2VyID0gJGNvbnRlbnQuZmluZCgnLmF1dGhvci1uYW1lJykudGV4dCgpLFxuICAgICAgICByZXBseSA9IHRlbXBsYXRlKFwiJyd7dXNlcn0gW1sje2NvbnRlbnRJZH18e3NhaWR9XV0nJ1xcbjxibG9ja3F1b3RlPlxcbnt0ZXh0fVxcbjwvYmxvY2txdW90ZT5cXG5cXG5cIiksXG4gICAgICAgIHJlcGx5X3RleHQsXG4gICAgICAgICR0ZXh0YXJlYSA9ICQoJyNpZF9jb250ZW50JyksXG4gICAgICAgIG9sZHRleHQgPSAkdGV4dGFyZWEudmFsKCk7XG5cbiAgICAgIHJlcGx5X3RleHQgPSByZXBseSh7J3VzZXInOiB1c2VyLCAnY29udGVudElkJzogY29udGVudElkLCAndGV4dCc6IHRleHQsICdzYWlkJzogZ2V0dGV4dCgnc2FpZCcpfSk7XG5cbiAgICAgICR0ZXh0YXJlYS52YWwob2xkdGV4dCArIHJlcGx5X3RleHQpO1xuXG4gICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkge1xuICAgICAgICAkdGV4dGFyZWEuZm9jdXMoKTtcbiAgICAgIH0sIDEwKTtcblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSk7XG4gIH1cblxuICAkKGRvY3VtZW50KS5yZWFkeShpbml0KTtcblxufSkoalF1ZXJ5KTtcbiJdfQ==", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/questions.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/questions.js", + "sourcesContent": [ + "/* globals trackEvent:false, k:false, _:false, Marky:false, AAQSystemInfo:false, KBox:false, gettext:false, template:false, jQuery:false */\n/*\n* questions.js\n* Scripts for the questions app.\n*/\n\n// TODO: Figure out how to break out the functionality here into\n// testable parts.\n\n(function($) {\n\n function init() {\n var $body = $('body');\n\n if ($body.is('.new-question')) {\n initNewQuestion();\n\n if (window.location.search.indexOf('step=aaq-register') > -1) {\n trackEvent('Ask A Question Flow', 'step 1 page');\n } else if (window.location.search.indexOf('step=aaq-question') > -1) {\n trackEvent('Ask A Question Flow', 'step 2 page');\n }\n }\n\n if ($body.is('.questions')) {\n initTagFilterToggle();\n\n $('#flag-filter input[type=\"checkbox\"]').on('click', function() {\n window.location = $(this).data('url');\n });\n\n if (window.location.pathname.indexOf('questions/new/confirm') > -1) {\n trackEvent('Ask A Question Flow', 'step 3 confirm page');\n }\n }\n\n if ($body.is('.answers')) {\n // Put last search query into search box\n $('#support-search input[name=q]')\n .val(k.unquote($.cookie('last_search')));\n\n function takeQuestion() {\n if ($(this).val().length > 0) {\n var $form = $(this).closest('form');\n var url = $form.data('take-question-url');\n var csrftoken = $('input[name=csrfmiddlewaretoken]').val();\n $.ajax({\n url: url,\n method: 'POST',\n beforeSend: function(xhr, settings) {\n xhr.setRequestHeader('X-CSRFToken', csrftoken);\n }\n });\n }\n }\n\n $('#id_content').on('keyup', _.throttle(takeQuestion, 1000));\n\n $(document).on('click', '#details-edit', function(ev) {\n ev.preventDefault();\n $('#question-details').addClass('editing');\n });\n\n initHaveThisProblemTooAjax();\n initHelpfulVote();\n initCrashIdLinking();\n initEditDetails();\n addReferrerAndQueryToVoteForm();\n initReplyToAnswer();\n new k.AjaxPreview($('#preview')); // eslint-disable-line\n }\n\n Marky.createSimpleToolbar('.editor-tools', '#reply-content, #id_content', {cannedResponses: !$body.is('.new-question')});\n\n // product selector page reloading\n $('#product-selector select').on('change', function() {\n var val = $(this).val();\n var queryParams = k.getQueryParamsAsDict(document.location.toString());\n\n if (val === '') {\n delete queryParams.product;\n } else {\n queryParams.product = val;\n }\n document.location = document.location.pathname + '?' + $.param(queryParams);\n });\n\n // topic selector page reloading\n $('#topic-selector select').on('change', function() {\n var val = $(this).val();\n var queryParams = k.getQueryParamsAsDict(document.location.toString());\n\n if (val === '') {\n delete queryParams.topic;\n } else {\n queryParams.topic = val;\n }\n document.location = document.location.pathname + '?' + $.param(queryParams);\n });\n\n }\n\n /*\n * Initialize the new question page/form\n */\n function initNewQuestion() {\n var $questionForm = $('#question-form');\n var aaq = new AAQSystemInfo($questionForm);\n hideDetails($questionForm, aaq);\n }\n\n function isLoggedIn() {\n return $('#greeting span.user').length > 0;\n }\n\n // Handle changes to the details for a question\n function initEditDetails() {\n $('#details-product').on('change', function() {\n var $selected;\n\n $(this).children().each(function() {\n if (this.selected) {\n $selected = $(this);\n }\n });\n\n $('#details-topic').children().remove();\n $('#details-submit').prop('disabled', true);\n\n $.ajax($selected.data('url'), {\n 'dataType': 'json',\n 'success': function(data) {\n for (var i = 0; i < data.topics.length; i++) {\n var topic = data.topics[i];\n var $opt = $('');\n\n $opt.attr('value', topic.id);\n $opt.text(topic.title);\n\n $('#details-topic').append($opt);\n }\n $('#details-submit').prop('disabled', false);\n }\n });\n });\n }\n\n // Hide the browser/system details for users on FF with js enabled\n // and are submitting a question for FF on desktop.\n function hideDetails($form, aaq) {\n $form.find('ul').addClass('hide-details');\n $form.find('a.show, a.hide').click(function(ev) {\n ev.preventDefault();\n $(this).closest('li')\n .toggleClass('show')\n .toggleClass('hide')\n .closest('ul')\n .toggleClass('show-details');\n });\n\n if (!aaq.isDesktopFF() && !aaq.isMobileFF() && !aaq.isFirefoxOS()) {\n $form.find('li.system-details-info').hide();\n }\n }\n\n /*\n * Ajaxify any \"I have this problem too\" forms (may be multiple per page)\n */\n function initHaveThisProblemTooAjax() {\n var $container = $('#question div.me-too, .question-tools div.me-too');\n\n // ajaxify each form individually so the resulting kbox attaches to\n // the correct DOM element\n $container.each(function() {\n initAjaxForm($(this), 'form', '#vote-thanks');\n });\n\n $container.find('input').click(function() {\n $(this).attr('disabled', 'disabled');\n });\n\n // closing or cancelling the kbox on any of the forms should remove\n // all of them\n $container.delegate('.kbox-close, .kbox-cancel', 'click', function(ev) {\n ev.preventDefault();\n $container.unbind().remove();\n });\n }\n\n function addReferrerAndQueryToVoteForm() {\n // Add the source/referrer and query terms to the helpful vote form\n var urlParams = k.getQueryParamsAsDict(),\n referrer = k.getReferrer(urlParams),\n query = k.getSearchQuery(urlParams, referrer);\n $('form.helpful, .me-too form')\n .append($('')\n .attr('value', referrer))\n .append($('')\n .attr('value', query));\n }\n\n /*\n * Ajaxify the Helpful/Not Helpful form\n */\n function initHelpfulVote() {\n $('li.answer div.side-section, .answer-tools').each(function() {\n new k.AjaxVote($(this).find('form.helpful'), { // eslint-disable-line\n positionMessage: true,\n removeForm: true\n });\n });\n }\n\n // Helper\n function initAjaxForm($container, formSelector, boxSelector, onKboxClose) {\n $container.delegate(formSelector, 'submit', function(ev) {\n ev.preventDefault();\n var $form = $(this);\n var url = $form.attr('action');\n var data = $form.serialize();\n\n $.ajax({\n url: url,\n type: 'POST',\n data: data,\n dataType: 'json',\n success: function(response) {\n if (response.html) {\n if ($(boxSelector).length === 0) {\n // We don't have a modal set up yet.\n var kbox = new KBox(response.html, {\n container: $container,\n preClose: onKboxClose\n });\n kbox.open();\n } else {\n $(boxSelector).html($(response.html).children());\n }\n } else if (response.message) {\n var html = '';\n $(boxSelector)\n .html(html)\n .find('.msg').text(response.message);\n }\n\n if (!response.ignored) {\n // Trigger a document event for others to listen for.\n $(document).trigger('vote', $.extend(data, {url: url}));\n }\n },\n error: function() {\n var message = gettext('There was an error.');\n alert(message); // eslint-disable-line\n }\n });\n\n return false;\n });\n }\n\n function initTagFilterToggle() {\n $('#toggle-tag-filter').click(function(e) {\n e.preventDefault();\n $('#tag-filter').slideToggle('fast'); // CSS3: Y U NO TRANSITION TO `height: auto;`?\n $(this).toggleClass('off');\n });\n }\n\n /*\n * Links all crash IDs found in the passed HTML container elements\n */\n function linkCrashIds(container) {\n if (!container) {\n return;\n }\n var crashIDRegex = new RegExp('(bp-[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12})', 'g');\n var crashStatsBase = 'https://crash-stats.mozilla.com/report/index/';\n var helpingWithCrashesArticle = '/kb/helping-crashes';\n var iconPath = $('body').data('static-url') + 'sumo/img/questions/icon.questionmark.png';\n var crashReportContainer =\n \"\" +\n \"$1\" +\n \"\" +\n \"
\\n{text}\\n\\n\\n\"),\n reply_text,\n $textarea = $('#id_content'),\n oldtext = $textarea.val();\n\n reply_text = reply({'user': user, 'contentId': contentId, 'text': text, 'said': gettext('said')});\n\n $textarea.val(oldtext + reply_text);\n\n setTimeout(function() {\n $textarea.focus();\n }, 10);\n\n return true;\n });\n }\n\n $(document).ready(init);\n\n})(jQuery);\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/nunjucks.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/* global nunjucks:false, gettext:false, ngettext:false, interpolate:false, k:false, jQuery:false */\n'use strict';\n\n(function ($) {\n window.k = window.k || {};\n\n var env = nunjucks.configure({ autoescape: true });\n\n env.addGlobal('_', gettext);\n env.addGlobal('ngettext', window.ngettext);\n\n env.addFilter('f', function (fmt, obj, named) {\n var keys = Object.keys(obj);\n var escape = env.getFilter('escape');\n\n for (var i = 0; i < keys.length; i++) {\n obj[keys[i]] = escape(obj[keys[i]]);\n }\n\n return interpolate(fmt, obj, named);\n });\n\n env.addFilter('urlparams', function (url, params) {\n if (url) {\n var i;\n var base = url.split('?')[0];\n var qs = url.split('?')[1] || '';\n qs = qs.split('&');\n\n var old_params = {};\n for (i = 0; i < qs.length; i++) {\n var s = qs[i].split('=');\n old_params[s.shift()] = s.join('=');\n }\n\n params = $.extend({}, old_params, params);\n\n url = base;\n var keys = Object.keys(params);\n for (i = 0; i < keys.length; i++) {\n url += url.indexOf('?') === -1 ? '?' : '&';\n url += keys[i];\n var val = params[keys[i]];\n if (val !== undefined && val !== null && val !== '') {\n url += '=' + val;\n }\n }\n\n return url;\n }\n });\n\n env.addFilter('class_selected', function (v1, v2) {\n if (v1 === v2) {\n return ' class=\"selected\" ';\n }\n return '';\n });\n\n env.addFilter('stringify', function (obj) {\n return JSON.stringify(obj);\n });\n\n env.addFilter('encodeURI', function (uri) {\n return encodeURI(uri);\n });\n\n k.nunjucksEnv = env;\n})(jQuery);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL251bmp1Y2tzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLENBQUMsVUFBUyxDQUFDLEVBQUU7QUFDWCxRQUFNLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDOztBQUUxQixNQUFJLEdBQUcsR0FBRyxRQUFRLENBQUMsU0FBUyxDQUFDLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7O0FBRWpELEtBQUcsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzVCLEtBQUcsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQzs7QUFFM0MsS0FBRyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsVUFBUyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtBQUMzQyxRQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQzVCLFFBQUksTUFBTSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBRXJDLFNBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQ3BDLFNBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDckM7O0FBRUQsV0FBTyxXQUFXLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztHQUNyQyxDQUFDLENBQUM7O0FBRUgsS0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsVUFBUyxHQUFHLEVBQUUsTUFBTSxFQUFFO0FBQy9DLFFBQUksR0FBRyxFQUFFO0FBQ1AsVUFBSSxDQUFDLENBQUM7QUFDTixVQUFJLElBQUksR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzdCLFVBQUksRUFBRSxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQ2pDLFFBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDOztBQUVuQixVQUFJLFVBQVUsR0FBRyxFQUFFLENBQUM7QUFDcEIsV0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO0FBQzlCLFlBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsa0JBQVUsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO09BQ3JDOztBQUVELFlBQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUM7O0FBRTFDLFNBQUcsR0FBRyxJQUFJLENBQUM7QUFDWCxVQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQy9CLFdBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtBQUNoQyxXQUFHLElBQUksQUFBQyxHQUFHLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFJLEdBQUcsR0FBRyxHQUFHLENBQUM7QUFDN0MsV0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUNmLFlBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUMxQixZQUFJLEdBQUcsS0FBSyxTQUFTLElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssRUFBRSxFQUFFO0FBQ25ELGFBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDO1NBQ2xCO09BQ0Y7O0FBRUQsYUFBTyxHQUFHLENBQUM7S0FDWjtHQUNGLENBQUMsQ0FBQzs7QUFFSCxLQUFHLENBQUMsU0FBUyxDQUFDLGdCQUFnQixFQUFFLFVBQVMsRUFBRSxFQUFFLEVBQUUsRUFBRTtBQUMvQyxRQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7QUFDYixhQUFPLG9CQUFvQixDQUFDO0tBQzdCO0FBQ0QsV0FBTyxFQUFFLENBQUM7R0FDWCxDQUFDLENBQUM7O0FBRUgsS0FBRyxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQUUsVUFBUyxHQUFHLEVBQUU7QUFDdkMsV0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0dBQzVCLENBQUMsQ0FBQzs7QUFFSCxLQUFHLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxVQUFTLEdBQUcsRUFBRTtBQUN2QyxXQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUN2QixDQUFDLENBQUM7O0FBRUgsR0FBQyxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7Q0FDckIsQ0FBQSxDQUFFLE1BQU0sQ0FBQyxDQUFDIiwiZmlsZSI6Ii9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL251bmp1Y2tzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIG51bmp1Y2tzOmZhbHNlLCBnZXR0ZXh0OmZhbHNlLCBuZ2V0dGV4dDpmYWxzZSwgaW50ZXJwb2xhdGU6ZmFsc2UsIGs6ZmFsc2UsIGpRdWVyeTpmYWxzZSAqL1xuKGZ1bmN0aW9uKCQpIHtcbiAgd2luZG93LmsgPSB3aW5kb3cuayB8fCB7fTtcblxuICB2YXIgZW52ID0gbnVuanVja3MuY29uZmlndXJlKHthdXRvZXNjYXBlOiB0cnVlfSk7XG5cbiAgZW52LmFkZEdsb2JhbCgnXycsIGdldHRleHQpO1xuICBlbnYuYWRkR2xvYmFsKCduZ2V0dGV4dCcsIHdpbmRvdy5uZ2V0dGV4dCk7XG5cbiAgZW52LmFkZEZpbHRlcignZicsIGZ1bmN0aW9uKGZtdCwgb2JqLCBuYW1lZCkge1xuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqKTtcbiAgICB2YXIgZXNjYXBlID0gZW52LmdldEZpbHRlcignZXNjYXBlJyk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgIG9ialtrZXlzW2ldXSA9IGVzY2FwZShvYmpba2V5c1tpXV0pO1xuICAgIH1cblxuICAgIHJldHVybiBpbnRlcnBvbGF0ZShmbXQsIG9iaiwgbmFtZWQpO1xuICB9KTtcblxuICBlbnYuYWRkRmlsdGVyKCd1cmxwYXJhbXMnLCBmdW5jdGlvbih1cmwsIHBhcmFtcykge1xuICAgIGlmICh1cmwpIHtcbiAgICAgIHZhciBpO1xuICAgICAgdmFyIGJhc2UgPSB1cmwuc3BsaXQoJz8nKVswXTtcbiAgICAgIHZhciBxcyA9IHVybC5zcGxpdCgnPycpWzFdIHx8ICcnO1xuICAgICAgcXMgPSBxcy5zcGxpdCgnJicpO1xuXG4gICAgICB2YXIgb2xkX3BhcmFtcyA9IHt9O1xuICAgICAgZm9yIChpID0gMDsgaSA8IHFzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBzID0gcXNbaV0uc3BsaXQoJz0nKTtcbiAgICAgICAgb2xkX3BhcmFtc1tzLnNoaWZ0KCldID0gcy5qb2luKCc9Jyk7XG4gICAgICB9XG5cbiAgICAgIHBhcmFtcyA9ICQuZXh0ZW5kKHt9LCBvbGRfcGFyYW1zLCBwYXJhbXMpO1xuXG4gICAgICB1cmwgPSBiYXNlO1xuICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpO1xuICAgICAgZm9yIChpID0gMDsgaSA8IGtleXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdXJsICs9ICh1cmwuaW5kZXhPZignPycpID09PSAtMSkgPyAnPycgOiAnJic7XG4gICAgICAgIHVybCArPSBrZXlzW2ldO1xuICAgICAgICB2YXIgdmFsID0gcGFyYW1zW2tleXNbaV1dO1xuICAgICAgICBpZiAodmFsICE9PSB1bmRlZmluZWQgJiYgdmFsICE9PSBudWxsICYmIHZhbCAhPT0gJycpIHtcbiAgICAgICAgICB1cmwgKz0gJz0nICsgdmFsO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB1cmw7XG4gICAgfVxuICB9KTtcblxuICBlbnYuYWRkRmlsdGVyKCdjbGFzc19zZWxlY3RlZCcsIGZ1bmN0aW9uKHYxLCB2Mikge1xuICAgIGlmICh2MSA9PT0gdjIpIHtcbiAgICAgIHJldHVybiAnIGNsYXNzPVwic2VsZWN0ZWRcIiAnO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH0pO1xuXG4gIGVudi5hZGRGaWx0ZXIoJ3N0cmluZ2lmeScsIGZ1bmN0aW9uKG9iaikge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShvYmopO1xuICB9KTtcblxuICBlbnYuYWRkRmlsdGVyKCdlbmNvZGVVUkknLCBmdW5jdGlvbih1cmkpIHtcbiAgICByZXR1cm4gZW5jb2RlVVJJKHVyaSk7XG4gIH0pO1xuXG4gIGsubnVuanVja3NFbnYgPSBlbnY7XG59KShqUXVlcnkpO1xuIl19", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/nunjucks.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/nunjucks.js", + "sourcesContent": [ + "/* global nunjucks:false, gettext:false, ngettext:false, interpolate:false, k:false, jQuery:false */\n(function($) {\n window.k = window.k || {};\n\n var env = nunjucks.configure({autoescape: true});\n\n env.addGlobal('_', gettext);\n env.addGlobal('ngettext', window.ngettext);\n\n env.addFilter('f', function(fmt, obj, named) {\n var keys = Object.keys(obj);\n var escape = env.getFilter('escape');\n\n for (var i = 0; i < keys.length; i++) {\n obj[keys[i]] = escape(obj[keys[i]]);\n }\n\n return interpolate(fmt, obj, named);\n });\n\n env.addFilter('urlparams', function(url, params) {\n if (url) {\n var i;\n var base = url.split('?')[0];\n var qs = url.split('?')[1] || '';\n qs = qs.split('&');\n\n var old_params = {};\n for (i = 0; i < qs.length; i++) {\n var s = qs[i].split('=');\n old_params[s.shift()] = s.join('=');\n }\n\n params = $.extend({}, old_params, params);\n\n url = base;\n var keys = Object.keys(params);\n for (i = 0; i < keys.length; i++) {\n url += (url.indexOf('?') === -1) ? '?' : '&';\n url += keys[i];\n var val = params[keys[i]];\n if (val !== undefined && val !== null && val !== '') {\n url += '=' + val;\n }\n }\n\n return url;\n }\n });\n\n env.addFilter('class_selected', function(v1, v2) {\n if (v1 === v2) {\n return ' class=\"selected\" ';\n }\n return '';\n });\n\n env.addFilter('stringify', function(obj) {\n return JSON.stringify(obj);\n });\n\n env.addFilter('encodeURI', function(uri) {\n return encodeURI(uri);\n });\n\n k.nunjucksEnv = env;\n})(jQuery);\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/i18n.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/* globals gettext:true, ngettext:true, interpolate:true */\n/*\n* JavaScript localization fallback for when, say, our messages.[po/mo] are\n* broken.\n*\n* These are largely copied from Django's jsi18n, except they don't reply on\n* the catalog global variable.\n*\n* Include this __after__ the Django script.\n*/\n'use strict';\n\nif (typeof window.gettext === 'undefined') {\n window.gettext = function (msgid) {\n return msgid;\n };\n}\nif (typeof window.ngettext === 'undefined') {\n window.ngettext = function (singular, plural, count) {\n return count === 1 ? singular : plural;\n };\n}\nif (typeof window.interpolate === 'undefined') {\n window.interpolate = function (fmt, obj, named) {\n if (named) {\n return fmt.replace(/%\\(\\w+\\)s/g, function (match) {\n return String(obj[match.slice(2, -2)]);\n });\n } else {\n return fmt.replace(/%s/g, function (match) {\n return String(obj.shift());\n });\n }\n };\n}\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL2kxOG4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBVUEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssV0FBVyxFQUFFO0FBQ3pDLFFBQU0sQ0FBQyxPQUFPLEdBQUcsVUFBVSxLQUFLLEVBQUU7QUFDaEMsV0FBTyxLQUFLLENBQUM7R0FDZCxDQUFDO0NBQ0g7QUFDRCxJQUFJLE9BQU8sTUFBTSxDQUFDLFFBQVEsS0FBSyxXQUFXLEVBQUU7QUFDMUMsUUFBTSxDQUFDLFFBQVEsR0FBRyxVQUFVLFFBQVEsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO0FBQ25ELFdBQU8sQUFBQyxLQUFLLEtBQUssQ0FBQyxHQUFJLFFBQVEsR0FBRyxNQUFNLENBQUM7R0FDMUMsQ0FBQztDQUNIO0FBQ0QsSUFBSSxPQUFPLE1BQU0sQ0FBQyxXQUFXLEtBQUssV0FBVyxFQUFFO0FBQzdDLFFBQU0sQ0FBQyxXQUFXLEdBQUcsVUFBVSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRTtBQUM5QyxRQUFJLEtBQUssRUFBRTtBQUNULGFBQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsVUFBUyxLQUFLLEVBQUU7QUFDL0MsZUFBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO09BQ3hDLENBQUMsQ0FBQztLQUNKLE1BQU07QUFDTCxhQUFPLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLFVBQVMsS0FBSyxFQUFFO0FBQ3hDLGVBQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO09BQzVCLENBQUMsQ0FBQztLQUNKO0dBQ0YsQ0FBQztDQUNIIiwiZmlsZSI6Ii9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL2kxOG4uanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWxzIGdldHRleHQ6dHJ1ZSwgbmdldHRleHQ6dHJ1ZSwgaW50ZXJwb2xhdGU6dHJ1ZSAqL1xuLypcbiogSmF2YVNjcmlwdCBsb2NhbGl6YXRpb24gZmFsbGJhY2sgZm9yIHdoZW4sIHNheSwgb3VyIG1lc3NhZ2VzLltwby9tb10gYXJlXG4qIGJyb2tlbi5cbipcbiogVGhlc2UgYXJlIGxhcmdlbHkgY29waWVkIGZyb20gRGphbmdvJ3MganNpMThuLCBleGNlcHQgdGhleSBkb24ndCByZXBseSBvblxuKiB0aGUgY2F0YWxvZyBnbG9iYWwgdmFyaWFibGUuXG4qXG4qIEluY2x1ZGUgdGhpcyBfX2FmdGVyX18gdGhlIERqYW5nbyBzY3JpcHQuXG4qL1xuaWYgKHR5cGVvZiB3aW5kb3cuZ2V0dGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgd2luZG93LmdldHRleHQgPSBmdW5jdGlvbiAobXNnaWQpIHtcbiAgICByZXR1cm4gbXNnaWQ7XG4gIH07XG59XG5pZiAodHlwZW9mIHdpbmRvdy5uZ2V0dGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgd2luZG93Lm5nZXR0ZXh0ID0gZnVuY3Rpb24gKHNpbmd1bGFyLCBwbHVyYWwsIGNvdW50KSB7XG4gICAgcmV0dXJuIChjb3VudCA9PT0gMSkgPyBzaW5ndWxhciA6IHBsdXJhbDtcbiAgfTtcbn1cbmlmICh0eXBlb2Ygd2luZG93LmludGVycG9sYXRlID09PSAndW5kZWZpbmVkJykge1xuICB3aW5kb3cuaW50ZXJwb2xhdGUgPSBmdW5jdGlvbiAoZm10LCBvYmosIG5hbWVkKSB7XG4gICAgaWYgKG5hbWVkKSB7XG4gICAgICByZXR1cm4gZm10LnJlcGxhY2UoLyVcXChcXHcrXFwpcy9nLCBmdW5jdGlvbihtYXRjaCkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKG9ialttYXRjaC5zbGljZSgyLCAtMildKTtcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZm10LnJlcGxhY2UoLyVzL2csIGZ1bmN0aW9uKG1hdGNoKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcob2JqLnNoaWZ0KCkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9O1xufVxuIl19", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/i18n.js" + ], + "names": [], + "mappings": ";;;;;;;;;;;;AAUA,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,WAAW,EAAE;AACzC,QAAM,CAAC,OAAO,GAAG,UAAU,KAAK,EAAE;AAChC,WAAO,KAAK,CAAC;GACd,CAAC;CACH;AACD,IAAI,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE;AAC1C,QAAM,CAAC,QAAQ,GAAG,UAAU,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;AACnD,WAAO,AAAC,KAAK,KAAK,CAAC,GAAI,QAAQ,GAAG,MAAM,CAAC;GAC1C,CAAC;CACH;AACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,WAAW,EAAE;AAC7C,QAAM,CAAC,WAAW,GAAG,UAAU,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE;AAC9C,QAAI,KAAK,EAAE;AACT,aAAO,GAAG,CAAC,OAAO,CAAC,YAAY,EAAE,UAAS,KAAK,EAAE;AAC/C,eAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;OACxC,CAAC,CAAC;KACJ,MAAM;AACL,aAAO,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,UAAS,KAAK,EAAE;AACxC,eAAO,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;OAC5B,CAAC,CAAC;KACJ;GACF,CAAC;CACH", + "file": "/app/kitsune/sumo/static/sumo/js/i18n.js", + "sourcesContent": [ + "/* globals gettext:true, ngettext:true, interpolate:true */\n/*\n* JavaScript localization fallback for when, say, our messages.[po/mo] are\n* broken.\n*\n* These are largely copied from Django's jsi18n, except they don't reply on\n* the catalog global variable.\n*\n* Include this __after__ the Django script.\n*/\nif (typeof window.gettext === 'undefined') {\n window.gettext = function (msgid) {\n return msgid;\n };\n}\nif (typeof window.ngettext === 'undefined') {\n window.ngettext = function (singular, plural, count) {\n return (count === 1) ? singular : plural;\n };\n}\nif (typeof window.interpolate === 'undefined') {\n window.interpolate = function (fmt, obj, named) {\n if (named) {\n return fmt.replace(/%\\(\\w+\\)s/g, function(match) {\n return String(obj[match.slice(2, -2)]);\n });\n } else {\n return fmt.replace(/%s/g, function(match) {\n return String(obj.shift());\n });\n }\n };\n}\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/search_utils.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/* globals k:false, jQuery:false */\n'use strict';\n\n(function ($, _) {\n window.k = k || {};\n\n var cxhr = new k.CachedXHR();\n\n function Search(baseUrl, params) {\n this.baseUrl = baseUrl;\n this.params = $.extend({}, params);\n }\n\n Search.prototype._buildQueryUrl = function (query, params) {\n var url = this.baseUrl + '?q=' + query;\n if (params) {\n url += '&' + params;\n }\n return url;\n };\n\n Search.prototype.setParam = function (key, value) {\n this.params[key] = value;\n return this;\n };\n\n Search.prototype.setParams = function (params) {\n $.extend(this.params, params);\n return this;\n };\n\n Search.prototype.getParam = function (key) {\n return this.params[key];\n };\n\n Search.prototype.unsetParam = function (key) {\n delete this.params[key];\n return this;\n };\n\n Search.prototype.clearLastQuery = function () {\n this.lastQuery = '';\n this.lastParams = '';\n };\n\n Search.prototype.hasLastQuery = function () {\n return !!this.lastQuery;\n };\n\n Search.prototype.lastQueryUrl = function () {\n return this._buildQueryUrl(this.lastQuery, this.lastParams);\n };\n\n Search.prototype.queryUrl = function (query) {\n return this._buildQueryUrl(this.lastQuery, this.serializeParams());\n };\n\n Search.prototype.serializeParams = function (extra) {\n var params = $.extend({}, this.params, extra);\n var keys = Object.keys(params);\n var paramStrings = [];\n $(keys).each(function () {\n paramStrings.push(this + '=' + params[this]);\n });\n return paramStrings.join('&');\n };\n\n Search.prototype.query = function (string, callback) {\n var data = $.extend({}, this.params, { q: string });\n\n this.lastQuery = string;\n this.lastParams = this.serializeParams({ q: string });\n\n cxhr.request(this.baseUrl, {\n cacheKey: this.lastParams,\n data: data,\n dataType: 'json',\n success: callback\n });\n\n return this;\n };\n\n k.Search = Search;\n})(jQuery, k.nunjucksEnv);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL3NlYXJjaF91dGlscy5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxDQUFDLFVBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRTtBQUNkLFFBQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQzs7QUFFbkIsTUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7O0FBRTdCLFdBQVMsTUFBTSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUU7QUFDL0IsUUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7QUFDdkIsUUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQztHQUNwQzs7QUFFRCxRQUFNLENBQUMsU0FBUyxDQUFDLGNBQWMsR0FBRyxVQUFTLEtBQUssRUFBRSxNQUFNLEVBQUU7QUFDeEQsUUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLEdBQUcsS0FBSyxDQUFDO0FBQ3ZDLFFBQUksTUFBTSxFQUFFO0FBQ1YsU0FBRyxJQUFJLEdBQUcsR0FBRyxNQUFNLENBQUM7S0FDckI7QUFDRCxXQUFPLEdBQUcsQ0FBQztHQUNaLENBQUM7O0FBRUYsUUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBUyxHQUFHLEVBQUUsS0FBSyxFQUFFO0FBQy9DLFFBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ3pCLFdBQU8sSUFBSSxDQUFDO0dBQ2IsQ0FBQzs7QUFFRixRQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsR0FBRyxVQUFTLE1BQU0sRUFBRTtBQUM1QyxLQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7QUFDOUIsV0FBTyxJQUFJLENBQUM7R0FDYixDQUFDOztBQUVGLFFBQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxHQUFHLFVBQVMsR0FBRyxFQUFFO0FBQ3hDLFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUN6QixDQUFDOztBQUVGLFFBQU0sQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLFVBQVMsR0FBRyxFQUFFO0FBQzFDLFdBQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUN4QixXQUFPLElBQUksQ0FBQztHQUNiLENBQUM7O0FBRUYsUUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLEdBQUcsWUFBVztBQUMzQyxRQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztBQUNwQixRQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztHQUN0QixDQUFDOztBQUVGLFFBQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLFlBQVc7QUFDekMsV0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztHQUN6QixDQUFDOztBQUVGLFFBQU0sQ0FBQyxTQUFTLENBQUMsWUFBWSxHQUFHLFlBQVc7QUFDekMsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0dBQzdELENBQUM7O0FBRUYsUUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEdBQUcsVUFBUyxLQUFLLEVBQUU7QUFDMUMsV0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUM7R0FDcEUsQ0FBQzs7QUFFRixRQUFNLENBQUMsU0FBUyxDQUFDLGVBQWUsR0FBRyxVQUFTLEtBQUssRUFBRTtBQUNqRCxRQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzlDLFFBQUksSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDL0IsUUFBSSxZQUFZLEdBQUcsRUFBRSxDQUFDO0FBQ3RCLEtBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBVztBQUN0QixrQkFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQzlDLENBQUMsQ0FBQztBQUNILFdBQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztHQUMvQixDQUFDOztBQUVGLFFBQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxHQUFHLFVBQVMsTUFBTSxFQUFFLFFBQVEsRUFBRTtBQUNsRCxRQUFJLElBQUksR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBQyxDQUFDLENBQUM7O0FBRWxELFFBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO0FBQ3hCLFFBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFDLENBQUMsRUFBRSxNQUFNLEVBQUMsQ0FBQyxDQUFDOztBQUVwRCxRQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7QUFDekIsY0FBUSxFQUFFLElBQUksQ0FBQyxVQUFVO0FBQ3pCLFVBQUksRUFBRSxJQUFJO0FBQ1YsY0FBUSxFQUFFLE1BQU07QUFDaEIsYUFBTyxFQUFFLFFBQVE7S0FDbEIsQ0FBQyxDQUFDOztBQUVILFdBQU8sSUFBSSxDQUFDO0dBQ2IsQ0FBQzs7QUFFRixHQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztDQUNuQixDQUFBLENBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyIsImZpbGUiOiIvYXBwL2tpdHN1bmUvc3Vtby9zdGF0aWMvc3Vtby9qcy9zZWFyY2hfdXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWxzIGs6ZmFsc2UsIGpRdWVyeTpmYWxzZSAqL1xuKGZ1bmN0aW9uKCQsIF8pIHtcbiAgd2luZG93LmsgPSBrIHx8IHt9O1xuXG4gIHZhciBjeGhyID0gbmV3IGsuQ2FjaGVkWEhSKCk7XG5cbiAgZnVuY3Rpb24gU2VhcmNoKGJhc2VVcmwsIHBhcmFtcykge1xuICAgIHRoaXMuYmFzZVVybCA9IGJhc2VVcmw7XG4gICAgdGhpcy5wYXJhbXMgPSAkLmV4dGVuZCh7fSwgcGFyYW1zKTtcbiAgfVxuXG4gIFNlYXJjaC5wcm90b3R5cGUuX2J1aWxkUXVlcnlVcmwgPSBmdW5jdGlvbihxdWVyeSwgcGFyYW1zKSB7XG4gICAgdmFyIHVybCA9IHRoaXMuYmFzZVVybCArICc/cT0nICsgcXVlcnk7XG4gICAgaWYgKHBhcmFtcykge1xuICAgICAgdXJsICs9ICcmJyArIHBhcmFtcztcbiAgICB9XG4gICAgcmV0dXJuIHVybDtcbiAgfTtcblxuICBTZWFyY2gucHJvdG90eXBlLnNldFBhcmFtID0gZnVuY3Rpb24oa2V5LCB2YWx1ZSkge1xuICAgIHRoaXMucGFyYW1zW2tleV0gPSB2YWx1ZTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBTZWFyY2gucHJvdG90eXBlLnNldFBhcmFtcyA9IGZ1bmN0aW9uKHBhcmFtcykge1xuICAgICQuZXh0ZW5kKHRoaXMucGFyYW1zLCBwYXJhbXMpO1xuICAgIHJldHVybiB0aGlzO1xuICB9O1xuXG4gIFNlYXJjaC5wcm90b3R5cGUuZ2V0UGFyYW0gPSBmdW5jdGlvbihrZXkpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJhbXNba2V5XTtcbiAgfTtcblxuICBTZWFyY2gucHJvdG90eXBlLnVuc2V0UGFyYW0gPSBmdW5jdGlvbihrZXkpIHtcbiAgICBkZWxldGUgdGhpcy5wYXJhbXNba2V5XTtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICBTZWFyY2gucHJvdG90eXBlLmNsZWFyTGFzdFF1ZXJ5ID0gZnVuY3Rpb24oKSB7XG4gICAgdGhpcy5sYXN0UXVlcnkgPSAnJztcbiAgICB0aGlzLmxhc3RQYXJhbXMgPSAnJztcbiAgfTtcblxuICBTZWFyY2gucHJvdG90eXBlLmhhc0xhc3RRdWVyeSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAhIXRoaXMubGFzdFF1ZXJ5O1xuICB9O1xuXG4gIFNlYXJjaC5wcm90b3R5cGUubGFzdFF1ZXJ5VXJsID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1aWxkUXVlcnlVcmwodGhpcy5sYXN0UXVlcnksIHRoaXMubGFzdFBhcmFtcyk7XG4gIH07XG5cbiAgU2VhcmNoLnByb3RvdHlwZS5xdWVyeVVybCA9IGZ1bmN0aW9uKHF1ZXJ5KSB7XG4gICAgcmV0dXJuIHRoaXMuX2J1aWxkUXVlcnlVcmwodGhpcy5sYXN0UXVlcnksIHRoaXMuc2VyaWFsaXplUGFyYW1zKCkpO1xuICB9O1xuXG4gIFNlYXJjaC5wcm90b3R5cGUuc2VyaWFsaXplUGFyYW1zID0gZnVuY3Rpb24oZXh0cmEpIHtcbiAgICB2YXIgcGFyYW1zID0gJC5leHRlbmQoe30sIHRoaXMucGFyYW1zLCBleHRyYSk7XG4gICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhwYXJhbXMpO1xuICAgIHZhciBwYXJhbVN0cmluZ3MgPSBbXTtcbiAgICAkKGtleXMpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICBwYXJhbVN0cmluZ3MucHVzaCh0aGlzICsgJz0nICsgcGFyYW1zW3RoaXNdKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcGFyYW1TdHJpbmdzLmpvaW4oJyYnKTtcbiAgfTtcblxuICBTZWFyY2gucHJvdG90eXBlLnF1ZXJ5ID0gZnVuY3Rpb24oc3RyaW5nLCBjYWxsYmFjaykge1xuICAgIHZhciBkYXRhID0gJC5leHRlbmQoe30sIHRoaXMucGFyYW1zLCB7cTogc3RyaW5nfSk7XG5cbiAgICB0aGlzLmxhc3RRdWVyeSA9IHN0cmluZztcbiAgICB0aGlzLmxhc3RQYXJhbXMgPSB0aGlzLnNlcmlhbGl6ZVBhcmFtcyh7cTogc3RyaW5nfSk7XG5cbiAgICBjeGhyLnJlcXVlc3QodGhpcy5iYXNlVXJsLCB7XG4gICAgICBjYWNoZUtleTogdGhpcy5sYXN0UGFyYW1zLFxuICAgICAgZGF0YTogZGF0YSxcbiAgICAgIGRhdGFUeXBlOiAnanNvbicsXG4gICAgICBzdWNjZXNzOiBjYWxsYmFja1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH07XG5cbiAgay5TZWFyY2ggPSBTZWFyY2g7XG59KShqUXVlcnksIGsubnVuanVja3NFbnYpO1xuIl19", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/search_utils.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/search_utils.js", + "sourcesContent": [ + "/* globals k:false, jQuery:false */\n(function($, _) {\n window.k = k || {};\n\n var cxhr = new k.CachedXHR();\n\n function Search(baseUrl, params) {\n this.baseUrl = baseUrl;\n this.params = $.extend({}, params);\n }\n\n Search.prototype._buildQueryUrl = function(query, params) {\n var url = this.baseUrl + '?q=' + query;\n if (params) {\n url += '&' + params;\n }\n return url;\n };\n\n Search.prototype.setParam = function(key, value) {\n this.params[key] = value;\n return this;\n };\n\n Search.prototype.setParams = function(params) {\n $.extend(this.params, params);\n return this;\n };\n\n Search.prototype.getParam = function(key) {\n return this.params[key];\n };\n\n Search.prototype.unsetParam = function(key) {\n delete this.params[key];\n return this;\n };\n\n Search.prototype.clearLastQuery = function() {\n this.lastQuery = '';\n this.lastParams = '';\n };\n\n Search.prototype.hasLastQuery = function() {\n return !!this.lastQuery;\n };\n\n Search.prototype.lastQueryUrl = function() {\n return this._buildQueryUrl(this.lastQuery, this.lastParams);\n };\n\n Search.prototype.queryUrl = function(query) {\n return this._buildQueryUrl(this.lastQuery, this.serializeParams());\n };\n\n Search.prototype.serializeParams = function(extra) {\n var params = $.extend({}, this.params, extra);\n var keys = Object.keys(params);\n var paramStrings = [];\n $(keys).each(function() {\n paramStrings.push(this + '=' + params[this]);\n });\n return paramStrings.join('&');\n };\n\n Search.prototype.query = function(string, callback) {\n var data = $.extend({}, this.params, {q: string});\n\n this.lastQuery = string;\n this.lastParams = this.serializeParams({q: string});\n\n cxhr.request(this.baseUrl, {\n cacheKey: this.lastParams,\n data: data,\n dataType: 'json',\n success: callback\n });\n\n return this;\n };\n\n k.Search = Search;\n})(jQuery, k.nunjucksEnv);\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/instant_search.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/* globals k:false, jQuery:false, trackEvent:false */\n'use strict';\n\n(function ($) {\n var searchTimeout;\n var locale = $('html').attr('lang');\n\n var search = new k.Search('/' + locale + '/search');\n var cxhr = new k.CachedXHR();\n\n function hideContent() {\n $('#main-content').hide();\n $('#main-content').siblings('aside').hide();\n $('#main-breadcrumbs').hide();\n\n if ($('#support-search-wiki:visible').length === 0) {\n $('.support-search-main').show();\n $('.support-search-main').find('input[name=q]').focus();\n }\n }\n\n function showContent() {\n $('.support-search-main').hide();\n $('#main-content').show();\n $('#main-content').siblings('aside').show();\n $('#main-breadcrumbs').show();\n $('#instant-search-content').remove();\n $('.search-form-large:visible').find('input[name=q]').focus().val('');\n $('#support-search').find('input[name=q]').val('');\n }\n\n function render(data) {\n var context = $.extend({}, data);\n var base_url = search.lastQueryUrl();\n var $searchContent;\n context.base_url = base_url;\n\n if ($('#instant-search-content').length) {\n $searchContent = $('#instant-search-content');\n } else {\n $searchContent = $('').attr('id', 'instant-search-content');\n $('#main-content').after($searchContent);\n }\n\n $searchContent.html(k.nunjucksEnv.render('search-results.html', context));\n }\n\n window.k.InstantSearchSettings = {\n hideContent: hideContent,\n showContent: showContent,\n render: render,\n searchClient: search\n };\n\n $(document).on('submit', '[data-instant-search=\"form\"]', function (ev) {\n ev.preventDefault();\n });\n\n $(document).on('keyup', '[data-instant-search=\"form\"] input[type=\"search\"]', function (ev) {\n var $this = $(this);\n var $form = $this.closest('form');\n var formId = $form.attr('id');\n var params = {\n format: 'json'\n };\n\n if ($this.val().length === 0) {\n if (searchTimeout) {\n window.clearTimeout(searchTimeout);\n }\n\n window.k.InstantSearchSettings.showContent();\n } else if ($this.val() !== search.lastQuery) {\n if (searchTimeout) {\n window.clearTimeout(searchTimeout);\n }\n\n $form.find('input').each(function () {\n if ($(this).attr('type') === 'submit') {\n return true;\n }\n if ($(this).attr('type') === 'button') {\n return true;\n }\n if ($(this).attr('name') === 'q') {\n var value = $(this).val();\n\n if (formId === 'support-search-results') {\n $('#support-search').find('input[name=q]').val(value);\n } else if (formId === 'support-search') {\n $('.search-form-large').find('input[name=q]').val(value);\n } else {\n $('#support-search').find('input[name=q]').val(value);\n $('#support-search-results').find('input[name=q]').val(value);\n }\n\n return true;\n }\n params[$(this).attr('name')] = $(this).val();\n });\n\n searchTimeout = setTimeout(function () {\n if (search.hasLastQuery) {\n trackEvent('Instant Search', 'Exit Search', search.lastQueryUrl());\n }\n search.setParams(params);\n search.query($this.val(), k.InstantSearchSettings.render);\n trackEvent('Instant Search', 'Search', search.lastQueryUrl());\n }, 200);\n\n k.InstantSearchSettings.hideContent();\n }\n });\n\n $(document).on('click', '[data-instant-search=\"link\"]', function (ev) {\n ev.preventDefault();\n\n var $this = $(this);\n\n if (search.hasLastQuery) {\n trackEvent('Instant Search', 'Exit Search', search.queryUrl(search.lastQuery));\n }\n\n var setParams = $this.data('instant-search-set-params');\n if (setParams) {\n setParams = setParams.split('&');\n $(setParams).each(function () {\n var p = this.split('=');\n search.setParam(p.shift(), p.join('='));\n });\n }\n\n var unsetParams = $this.data('instant-search-unset-params');\n if (unsetParams) {\n unsetParams = unsetParams.split('&');\n $(unsetParams).each(function () {\n search.unsetParam(this);\n });\n }\n\n trackEvent('Instant Search', 'Search', $this.data('href'));\n\n cxhr.request($this.data('href'), {\n data: { format: 'json' },\n dataType: 'json',\n success: k.InstantSearchSettings.render\n });\n });\n})(jQuery);\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL2luc3RhbnRfc2VhcmNoLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLENBQUMsVUFBUyxDQUFDLEVBQUU7QUFDWCxNQUFJLGFBQWEsQ0FBQztBQUNsQixNQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDOztBQUVwQyxNQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLE1BQU0sR0FBRyxTQUFTLENBQUMsQ0FBQztBQUNwRCxNQUFJLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQzs7QUFFN0IsV0FBUyxXQUFXLEdBQUc7QUFDckIsS0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0FBQzFCLEtBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDNUMsS0FBQyxDQUFDLG1CQUFtQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7O0FBRTlCLFFBQUksQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtBQUNsRCxPQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNqQyxPQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7S0FDekQ7R0FDRjs7QUFFRCxXQUFTLFdBQVcsR0FBRztBQUNyQixLQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUNqQyxLQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDMUIsS0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FB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UUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7T0FDekMsQ0FBQyxDQUFDO0tBQ0o7O0FBRUQsUUFBSSxXQUFXLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxDQUFDO0FBQzVELFFBQUksV0FBVyxFQUFFO0FBQ2YsaUJBQVcsR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ3JDLE9BQUMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBVztBQUM3QixjQUFNLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO09BQ3pCLENBQUMsQ0FBQztLQUNKOztBQUVELGNBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDOztBQUUzRCxRQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7QUFDL0IsVUFBSSxFQUFFLEVBQUMsTUFBTSxFQUFFLE1BQU0sRUFBQztBQUN0QixjQUFRLEVBQUUsTUFBTTtBQUNoQixhQUFPLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU07S0FDeEMsQ0FBQyxDQUFDO0dBQ0osQ0FBQyxDQUFDO0NBQ0osQ0FBQSxDQUFFLE1BQU0sQ0FBQyxDQUFDIiwiZmlsZSI6Ii9hcHAva2l0c3VuZS9zdW1vL3N0YXRpYy9zdW1vL2pzL2luc3RhbnRfc2VhcmNoLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFscyBrOmZhbHNlLCBqUXVlcnk6ZmFsc2UsIHRyYWNrRXZlbnQ6ZmFsc2UgKi9cbihmdW5jdGlvbigkKSB7XG4gIHZhciBzZWFyY2hUaW1lb3V0O1xuICB2YXIgbG9jYWxlID0gJCgnaHRtbCcpLmF0dHIoJ2xhbmcnKTtcblxuICB2YXIgc2VhcmNoID0gbmV3IGsuU2VhcmNoKCcvJyArIGxvY2FsZSArICcvc2VhcmNoJyk7XG4gIHZhciBjeGhyID0gbmV3IGsuQ2FjaGVkWEhSKCk7XG5cbiAgZnVuY3Rpb24gaGlkZUNvbnRlbnQoKSB7XG4gICAgJCgnI21haW4tY29udGVudCcpLmhpZGUoKTtcbiAgICAkKCcjbWFpbi1jb250ZW50Jykuc2libGluZ3MoJ2FzaWRlJykuaGlkZSgpO1xuICAgICQoJyNtYWluLWJyZWFkY3J1bWJzJykuaGlkZSgpO1xuXG4gICAgaWYgKCQoJyNzdXBwb3J0LXNlYXJjaC13aWtpOnZpc2libGUnKS5sZW5ndGggPT09IDApIHtcbiAgICAgICQoJy5zdXBwb3J0LXNlYXJjaC1tYWluJykuc2hvdygpO1xuICAgICAgJCgnLnN1cHBvcnQtc2VhcmNoLW1haW4nKS5maW5kKCdpbnB1dFtuYW1lPXFdJykuZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBzaG93Q29udGVudCgpIHtcbiAgICAkKCcuc3VwcG9ydC1zZWFyY2gtbWFpbicpLmhpZGUoKTtcbiAgICAkKCcjbWFpbi1jb250ZW50Jykuc2hvdygpO1xuICAgICQoJyNtYWluLWNvbnRlbnQnKS5zaWJsaW5ncygnYXNpZGUnKS5zaG93KCk7XG4gICAgJCgnI21haW4tYnJlYWRjcnVtYnMnKS5zaG93KCk7XG4gICAgJCgnI2luc3RhbnQtc2VhcmNoLWNvbnRlbnQnKS5yZW1vdmUoKTtcbiAgICAkKCcuc2VhcmNoLWZvcm0tbGFyZ2U6dmlzaWJsZScpLmZpbmQoJ2lucHV0W25hbWU9cV0nKS5mb2N1cygpLnZhbCgnJyk7XG4gICAgJCgnI3N1cHBvcnQtc2VhcmNoJykuZmluZCgnaW5wdXRbbmFtZT1xXScpLnZhbCgnJyk7XG4gIH1cblxuICBmdW5jdGlvbiByZW5kZXIoZGF0YSkge1xuICAgIHZhciBjb250ZXh0ID0gJC5leHRlbmQoe30sIGRhdGEpO1xuICAgIHZhciBiYXNlX3VybCA9IHNlYXJjaC5sYXN0UXVlcnlVcmwoKTtcbiAgICB2YXIgJHNlYXJjaENvbnRlbnQ7XG4gICAgY29udGV4dC5iYXNlX3VybCA9IGJhc2VfdXJsO1xuXG4gICAgaWYgKCQoJyNpbnN0YW50LXNlYXJjaC1jb250ZW50JykubGVuZ3RoKSB7XG4gICAgICAkc2VhcmNoQ29udGVudCA9ICQoJyNpbnN0YW50LXNlYXJjaC1jb250ZW50Jyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICRzZWFyY2hDb250ZW50ID0gJCgnPGRpdiAvPicpLmF0dHIoJ2lkJywgJ2luc3RhbnQtc2VhcmNoLWNvbnRlbnQnKTtcbiAgICAgICQoJyNtYWluLWNvbnRlbnQnKS5hZnRlcigkc2VhcmNoQ29udGVudCk7XG4gICAgfVxuXG4gICAgJHNlYXJjaENvbnRlbnQuaHRtbChrLm51bmp1Y2tzRW52LnJlbmRlcignc2VhcmNoLXJlc3VsdHMuaHRtbCcsIGNvbnRleHQpKTtcbiAgfVxuXG4gIHdpbmRvdy5rLkluc3RhbnRTZWFyY2hTZXR0aW5ncyA9IHtcbiAgICBoaWRlQ29udGVudDogaGlkZUNvbnRlbnQsXG4gICAgc2hvd0NvbnRlbnQ6IHNob3dDb250ZW50LFxuICAgIHJlbmRlcjogcmVuZGVyLFxuICAgIHNlYXJjaENsaWVudDogc2VhcmNoXG4gIH07XG5cbiAgJChkb2N1bWVudCkub24oJ3N1Ym1pdCcsICdbZGF0YS1pbnN0YW50LXNlYXJjaD1cImZvcm1cIl0nLCBmdW5jdGlvbihldikge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG4gIH0pO1xuXG4gICQoZG9jdW1lbnQpLm9uKCdrZXl1cCcsICdbZGF0YS1pbnN0YW50LXNlYXJjaD1cImZvcm1cIl0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsIGZ1bmN0aW9uKGV2KSB7XG4gICAgdmFyICR0aGlzID0gJCh0aGlzKTtcbiAgICB2YXIgJGZvcm0gPSAkdGhpcy5jbG9zZXN0KCdmb3JtJyk7XG4gICAgdmFyIGZvcm1JZCA9ICRmb3JtLmF0dHIoJ2lkJyk7XG4gICAgdmFyIHBhcmFtcyA9IHtcbiAgICAgIGZvcm1hdDogJ2pzb24nXG4gICAgfTtcblxuICAgIGlmICgkdGhpcy52YWwoKS5sZW5ndGggPT09IDApIHtcbiAgICAgIGlmIChzZWFyY2hUaW1lb3V0KSB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoc2VhcmNoVGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgIHdpbmRvdy5rLkluc3RhbnRTZWFyY2hTZXR0aW5ncy5zaG93Q29udGVudCgpO1xuICAgIH0gZWxzZSBpZiAoJHRoaXMudmFsKCkgIT09IHNlYXJjaC5sYXN0UXVlcnkpIHtcbiAgICAgIGlmIChzZWFyY2hUaW1lb3V0KSB7XG4gICAgICAgIHdpbmRvdy5jbGVhclRpbWVvdXQoc2VhcmNoVGltZW91dCk7XG4gICAgICB9XG5cbiAgICAgICRmb3JtLmZpbmQoJ2lucHV0JykuZWFjaChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICgkKHRoaXMpLmF0dHIoJ3R5cGUnKSA9PT0gJ3N1Ym1pdCcpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJCh0aGlzKS5hdHRyKCd0eXBlJykgPT09ICdidXR0b24nKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCQodGhpcykuYXR0cignbmFtZScpID09PSAncScpIHtcbiAgICAgICAgICB2YXIgdmFsdWUgPSAkKHRoaXMpLnZhbCgpO1xuXG4gICAgICAgICAgaWYgKGZvcm1JZCA9PT0gJ3N1cHBvcnQtc2VhcmNoLXJlc3VsdHMnKSB7XG4gICAgICAgICAgICAkKCcjc3VwcG9ydC1zZWFyY2gnKS5maW5kKCdpbnB1dFtuYW1lPXFdJykudmFsKHZhbHVlKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGZvcm1JZCA9PT0gJ3N1cHBvcnQtc2VhcmNoJykge1xuICAgICAgICAgICAgJCgnLnNlYXJjaC1mb3JtLWxhcmdlJykuZmluZCgnaW5wdXRbbmFtZT1xXScpLnZhbCh2YWx1ZSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICQoJyNzdXBwb3J0LXNlYXJjaCcpLmZpbmQoJ2lucHV0W25hbWU9cV0nKS52YWwodmFsdWUpO1xuICAgICAgICAgICAgJCgnI3N1cHBvcnQtc2VhcmNoLXJlc3VsdHMnKS5maW5kKCdpbnB1dFtuYW1lPXFdJykudmFsKHZhbHVlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBwYXJhbXNbJCh0aGlzKS5hdHRyKCduYW1lJyldID0gJCh0aGlzKS52YWwoKTtcbiAgICAgIH0pO1xuXG4gICAgICBzZWFyY2hUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmIChzZWFyY2guaGFzTGFzdFF1ZXJ5KSB7XG4gICAgICAgICAgdHJhY2tFdmVudCgnSW5zdGFudCBTZWFyY2gnLCAnRXhpdCBTZWFyY2gnLCBzZWFyY2gubGFzdFF1ZXJ5VXJsKCkpO1xuICAgICAgICB9XG4gICAgICAgIHNlYXJjaC5zZXRQYXJhbXMocGFyYW1zKTtcbiAgICAgICAgc2VhcmNoLnF1ZXJ5KCR0aGlzLnZhbCgpLCBrLkluc3RhbnRTZWFyY2hTZXR0aW5ncy5yZW5kZXIpO1xuICAgICAgICB0cmFja0V2ZW50KCdJbnN0YW50IFNlYXJjaCcsICdTZWFyY2gnLCBzZWFyY2gubGFzdFF1ZXJ5VXJsKCkpO1xuICAgICAgfSwgMjAwKTtcblxuICAgICAgay5JbnN0YW50U2VhcmNoU2V0dGluZ3MuaGlkZUNvbnRlbnQoKTtcbiAgICB9XG4gIH0pO1xuXG4gICQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdbZGF0YS1pbnN0YW50LXNlYXJjaD1cImxpbmtcIl0nLCBmdW5jdGlvbihldikge1xuICAgIGV2LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB2YXIgJHRoaXMgPSAkKHRoaXMpO1xuXG4gICAgaWYgKHNlYXJjaC5oYXNMYXN0UXVlcnkpIHtcbiAgICAgIHRyYWNrRXZlbnQoJ0luc3RhbnQgU2VhcmNoJywgJ0V4aXQgU2VhcmNoJywgc2VhcmNoLnF1ZXJ5VXJsKHNlYXJjaC5sYXN0UXVlcnkpKTtcbiAgICB9XG5cbiAgICB2YXIgc2V0UGFyYW1zID0gJHRoaXMuZGF0YSgnaW5zdGFudC1zZWFyY2gtc2V0LXBhcmFtcycpO1xuICAgIGlmIChzZXRQYXJhbXMpIHtcbiAgICAgIHNldFBhcmFtcyA9IHNldFBhcmFtcy5zcGxpdCgnJicpO1xuICAgICAgJChzZXRQYXJhbXMpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgIHZhciBwID0gdGhpcy5zcGxpdCgnPScpO1xuICAgICAgICBzZWFyY2guc2V0UGFyYW0ocC5zaGlmdCgpLCBwLmpvaW4oJz0nKSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB2YXIgdW5zZXRQYXJhbXMgPSAkdGhpcy5kYXRhKCdpbnN0YW50LXNlYXJjaC11bnNldC1wYXJhbXMnKTtcbiAgICBpZiAodW5zZXRQYXJhbXMpIHtcbiAgICAgIHVuc2V0UGFyYW1zID0gdW5zZXRQYXJhbXMuc3BsaXQoJyYnKTtcbiAgICAgICQodW5zZXRQYXJhbXMpLmVhY2goZnVuY3Rpb24oKSB7XG4gICAgICAgIHNlYXJjaC51bnNldFBhcmFtKHRoaXMpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHJhY2tFdmVudCgnSW5zdGFudCBTZWFyY2gnLCAnU2VhcmNoJywgJHRoaXMuZGF0YSgnaHJlZicpKTtcblxuICAgIGN4aHIucmVxdWVzdCgkdGhpcy5kYXRhKCdocmVmJyksIHtcbiAgICAgIGRhdGE6IHtmb3JtYXQ6ICdqc29uJ30sXG4gICAgICBkYXRhVHlwZTogJ2pzb24nLFxuICAgICAgc3VjY2Vzczogay5JbnN0YW50U2VhcmNoU2V0dGluZ3MucmVuZGVyXG4gICAgfSk7XG4gIH0pO1xufSkoalF1ZXJ5KTtcbiJdfQ==", + "ast": null, + "map": { + "version": 3, + "sources": [ + "/app/kitsune/sumo/static/sumo/js/instant_search.js" + ], + "names": [], + "mappings": "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", + "file": "/app/kitsune/sumo/static/sumo/js/instant_search.js", + "sourcesContent": [ + "/* globals k:false, jQuery:false, trackEvent:false */\n(function($) {\n var searchTimeout;\n var locale = $('html').attr('lang');\n\n var search = new k.Search('/' + locale + '/search');\n var cxhr = new k.CachedXHR();\n\n function hideContent() {\n $('#main-content').hide();\n $('#main-content').siblings('aside').hide();\n $('#main-breadcrumbs').hide();\n\n if ($('#support-search-wiki:visible').length === 0) {\n $('.support-search-main').show();\n $('.support-search-main').find('input[name=q]').focus();\n }\n }\n\n function showContent() {\n $('.support-search-main').hide();\n $('#main-content').show();\n $('#main-content').siblings('aside').show();\n $('#main-breadcrumbs').show();\n $('#instant-search-content').remove();\n $('.search-form-large:visible').find('input[name=q]').focus().val('');\n $('#support-search').find('input[name=q]').val('');\n }\n\n function render(data) {\n var context = $.extend({}, data);\n var base_url = search.lastQueryUrl();\n var $searchContent;\n context.base_url = base_url;\n\n if ($('#instant-search-content').length) {\n $searchContent = $('#instant-search-content');\n } else {\n $searchContent = $('').attr('id', 'instant-search-content');\n $('#main-content').after($searchContent);\n }\n\n $searchContent.html(k.nunjucksEnv.render('search-results.html', context));\n }\n\n window.k.InstantSearchSettings = {\n hideContent: hideContent,\n showContent: showContent,\n render: render,\n searchClient: search\n };\n\n $(document).on('submit', '[data-instant-search=\"form\"]', function(ev) {\n ev.preventDefault();\n });\n\n $(document).on('keyup', '[data-instant-search=\"form\"] input[type=\"search\"]', function(ev) {\n var $this = $(this);\n var $form = $this.closest('form');\n var formId = $form.attr('id');\n var params = {\n format: 'json'\n };\n\n if ($this.val().length === 0) {\n if (searchTimeout) {\n window.clearTimeout(searchTimeout);\n }\n\n window.k.InstantSearchSettings.showContent();\n } else if ($this.val() !== search.lastQuery) {\n if (searchTimeout) {\n window.clearTimeout(searchTimeout);\n }\n\n $form.find('input').each(function () {\n if ($(this).attr('type') === 'submit') {\n return true;\n }\n if ($(this).attr('type') === 'button') {\n return true;\n }\n if ($(this).attr('name') === 'q') {\n var value = $(this).val();\n\n if (formId === 'support-search-results') {\n $('#support-search').find('input[name=q]').val(value);\n } else if (formId === 'support-search') {\n $('.search-form-large').find('input[name=q]').val(value);\n } else {\n $('#support-search').find('input[name=q]').val(value);\n $('#support-search-results').find('input[name=q]').val(value);\n }\n\n return true;\n }\n params[$(this).attr('name')] = $(this).val();\n });\n\n searchTimeout = setTimeout(function () {\n if (search.hasLastQuery) {\n trackEvent('Instant Search', 'Exit Search', search.lastQueryUrl());\n }\n search.setParams(params);\n search.query($this.val(), k.InstantSearchSettings.render);\n trackEvent('Instant Search', 'Search', search.lastQueryUrl());\n }, 200);\n\n k.InstantSearchSettings.hideContent();\n }\n });\n\n $(document).on('click', '[data-instant-search=\"link\"]', function(ev) {\n ev.preventDefault();\n\n var $this = $(this);\n\n if (search.hasLastQuery) {\n trackEvent('Instant Search', 'Exit Search', search.queryUrl(search.lastQuery));\n }\n\n var setParams = $this.data('instant-search-set-params');\n if (setParams) {\n setParams = setParams.split('&');\n $(setParams).each(function() {\n var p = this.split('=');\n search.setParam(p.shift(), p.join('='));\n });\n }\n\n var unsetParams = $this.data('instant-search-unset-params');\n if (unsetParams) {\n unsetParams = unsetParams.split('&');\n $(unsetParams).each(function() {\n search.unsetParam(this);\n });\n }\n\n trackEvent('Instant Search', 'Search', $this.data('href'));\n\n cxhr.request($this.data('href'), {\n data: {format: 'json'},\n dataType: 'json',\n success: k.InstantSearchSettings.render\n });\n });\n})(jQuery);\n" + ] + }, + "mtime": 1561057444000 + }, + "{\"filename\":\"/app/kitsune/sumo/static/sumo/js/kbox.js\",\"extra\":{},\"env\":{},\"retainLines\":false,\"nonStandard\":true,\"experimental\":false,\"highlightCode\":true,\"suppressDeprecationMessages\":false,\"stage\":2,\"blacklist\":[],\"optional\":[],\"modules\":\"common\",\"moduleIds\":false,\"jsxPragma\":\"React.createElement\",\"plugins\":[],\"ignore\":[],\"code\":true,\"metadata\":true,\"ast\":true,\"comments\":true,\"compact\":\"auto\",\"keepModuleIdExtensions\":false,\"auxiliaryCommentAfter\":\"\",\"externalHelpers\":false,\"metadataUsedHelpers\":false,\"breakConfig\":false,\"sourceType\":\"module\"}:5.8.38": { + "metadata": { + "modules": { + "imports": [], + "exports": { + "exported": [], + "specifiers": [] + } + }, + "usedHelpers": [] + }, + "ignored": false, + "code": "/* globals jQuery:false */\n'use strict';\n\n(function ($) {\n\n 'use strict'; // Giving this a shot!\n\n var TEMPLATE = '