Browse Source

don't return to same page after password change sign in

Rafał Pitoń 9 years ago
parent
commit
d36e1b7767

+ 4 - 0
frontend/src/components/reset-password-form.js

@@ -135,6 +135,10 @@ export default class extends React.Component {
   complete = (apiResponse) => {
     auth.softSignOut();
 
+    // nuke "redirect_to" field so we don't end
+    // coming back to error page after sign in
+    $('#hidden-login-form input[name="redirect_to"]').remove();
+
     ReactDOM.render(
       <PasswordChangedPage user={apiResponse} />,
       document.getElementById('page-mount')

+ 2 - 2
misago/static/misago/js/misago.js

@@ -1,4 +1,4 @@
 !function e(t,n,a){function r(o,s){if(!n[o]){if(!t[o]){var u="function"==typeof require&&require;if(!s&&u)return u(o,!0);if(i)return i(o,!0);var l=new Error("Cannot find module '"+o+"'");throw l.code="MODULE_NOT_FOUND",l}var c=n[o]={exports:{}};t[o][0].call(c.exports,function(e){var n=t[o][1][e];return r(n?n:e)},c,c.exports,e,t,n,a)}return n[o].exports}for(var i="function"==typeof require&&require,o=0;o<a.length;o++)r(a[o]);return r}({1:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{user:e.auth.user,signedIn:e.auth.signedIn,signedOut:e.auth.signedOut}}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.select=s;var l=e("react"),c=a(l),f=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"refresh",value:function(){window.location.reload()}},{key:"getMessage",value:function(){return this.props.signedIn?interpolate(gettext("You have signed in as %(username)s. Please refresh the page before continuing."),{username:this.props.signedIn.username},!0):this.props.signedOut?interpolate(gettext("%(username)s, you have been signed out. Please refresh the page before continuing."),{username:this.props.user.username},!0):void 0}},{key:"getClassName",value:function(){return this.props.signedIn||this.props.signedOut?"auth-message show":"auth-message"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getClassName()},c["default"].createElement("div",{className:"container"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-default",onClick:this.refresh},gettext("Reload page"))," ",c["default"].createElement("span",{className:"hidden-xs hidden-sm text-muted"},gettext("or press F5 key.")))))}}]),t}(c["default"].Component);n["default"]=f},{react:"react"}],2:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=$("base").attr("href")+"user-avatar/",f=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"getSrc",value:function(){var e=this.props.size||100,t=c;return t+=this.props.user&&this.props.user.id?this.props.user.avatar_hash+"/"+e+"/"+this.props.user.id+".png":e+".png"}},{key:"render",value:function(){return l["default"].createElement("img",{src:this.getSrc(),className:this.props.className||"user-avatar",title:gettext("User avatar")})}}]),t}(l["default"].Component);n["default"]=f},{react:"react"}],3:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("moment"),l=a(u),c=e("react"),f=a(c),d=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"getReasonMessage",value:function(){return this.props.message.html?f["default"].createElement("div",{className:"lead",dangerouslySetInnerHTML:{__html:this.props.message.html}}):f["default"].createElement("p",{className:"lead"},this.props.message.plain)}},{key:"getExpirationMessage",value:function(){return this.props.expires?this.props.expires.isAfter((0,l["default"])())?interpolate(gettext("This ban expires %(expires_on)s."),{expires_on:this.props.expires.fromNow()},!0):gettext("This ban has expired."):gettext("This ban is permanent.")}},{key:"render",value:function(){return f["default"].createElement("div",{className:"page page-error page-error-banned"},f["default"].createElement("div",{className:"container"},f["default"].createElement("div",{className:"message-panel"},f["default"].createElement("div",{className:"message-icon"},f["default"].createElement("span",{className:"material-icon"},"highlight_off")),f["default"].createElement("div",{className:"message-body"},this.getReasonMessage(),f["default"].createElement("p",{className:"message-footnote"},this.getExpirationMessage())))))}}]),t}(f["default"].Component);n["default"]=d},{moment:"moment",react:"react"}],4:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=e("./loader"),f=a(c),d=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"render",value:function(){var e="btn "+this.props.className,t=this.props.disabled;return this.props.loading&&(e+=" btn-loading",t=!0),l["default"].createElement("button",{type:this.props.onClick?"button":"submit",className:e,disabled:t,onClick:this.props.onClick},this.props.children,this.props.loading?l["default"].createElement(f["default"],null):null)}}]),t}(l["default"].Component);n["default"]=d,d.defaultProps={className:"btn-default",type:"submit",loading:!1,disabled:!1,onClick:null}},{"./loader":7,react:"react"}],5:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"isValidated",value:function(){return"undefined"!=typeof this.props.validation}},{key:"getClassName",value:function(){var e="form-group";return this.isValidated()&&(e+=" has-feedback",e+=null===this.props.validation?" has-success":" has-error"),e}},{key:"getFeedback",value:function(){var e=this;return this.props.validation?l["default"].createElement("div",{className:"help-block errors"},this.props.validation.map(function(t,n){return l["default"].createElement("p",{key:e.props["for"]+"FeedbackItem"+n},t)})):null}},{key:"getFeedbackIcon",value:function(){return this.isValidated()?l["default"].createElement("span",{className:"material-icon form-control-feedback","aria-hidden":"true",key:this.props["for"]+"FeedbackIcon"},this.props.validation?"clear":"check"):null}},{key:"getFeedbackDescription",value:function(){return this.isValidated()?l["default"].createElement("span",{id:this.props["for"]+"_status",className:"sr-only"},this.props.validation?gettext("(error)"):gettext("(success)")):null}},{key:"getHelpText",value:function(){return this.props.helpText?l["default"].createElement("p",{className:"help-block"},this.props.helpText):null}},{key:"render",value:function(){return l["default"].createElement("div",{className:this.getClassName()},l["default"].createElement("label",{className:"control-label "+(this.props.labelClass||""),htmlFor:this.props["for"]||""},this.props.label,":"),l["default"].createElement("div",{className:this.props.controlClass||""},this.props.children,this.getFeedbackIcon(),this.getFeedbackDescription(),this.getFeedback(),this.getHelpText(),this.props.extra||null))}}]),t}(l["default"].Component);n["default"]=c},{react:"react"}],6:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=e("../utils/validators"),f=(0,c.required)(),d=function(e){function t(){var e,n,a,o;r(this,t);for(var s=arguments.length,u=Array(s),l=0;s>l;l++)u[l]=arguments[l];return n=a=i(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),a.bindInput=function(e){return function(t){var n={};n[e]=t.target.value;var r=a.state.errors||{};r[e]=a.validateField(e,n[e]),n.errors=r,a.setState(n)}},a.handleSubmit=function(e){if(e.preventDefault(),!a.state.isLoading&&a.clean()){a.setState({isLoading:!0});var t=a.send();t?t.then(function(e){a.setState({isLoading:!1}),a.handleSuccess(e)},function(e){a.setState({isLoading:!1}),a.handleError(e)}):a.setState({isLoading:!1})}},o=n,i(a,o)}return o(t,e),s(t,[{key:"validate",value:function(){var e={},t={required:this.state.validators.required||this.state.validators,optional:this.state.validators.optional||{}},n=[];for(var a in t.required)t.required.hasOwnProperty(a)&&t.required[a]&&n.push(a);for(var a in t.optional)t.optional.hasOwnProperty(a)&&t.optional[a]&&n.push(a);for(var r in n){var a=n[r],i=this.validateField(a,this.state[a]);null===i?e[a]=null:i&&(e[a]=i)}return e}},{key:"isValid",value:function(){var e=this.validate();for(var t in e)if(e.hasOwnProperty(t)&&null!==e[t])return!1;return!0}},{key:"validateField",value:function(e,t){var n=[],a={required:(this.state.validators.required||this.state.validators)[e],optional:(this.state.validators.optional||{})[e]},r=f(t)||!1;if(a.required){if(r)n=[r];else for(var i in a.required){var o=a.required[i](t);o&&n.push(o)}return n.length?n:null}if(r===!1&&a.optional){for(var i in a.optional){var o=a.optional[i](t);o&&n.push(o)}return n.length?n:null}return!1}},{key:"clean",value:function(){return!0}},{key:"send",value:function(){return null}},{key:"handleSuccess",value:function(e){}},{key:"handleError",value:function(e){}}]),t}(l["default"].Component);n["default"]=d},{"../utils/validators":58,react:"react"}],7:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"render",value:function(){return l["default"].createElement("div",{className:"loader-compact"},l["default"].createElement("div",{className:"loader-spinning-wheel"}))}}]),t}(l["default"].Component);n["default"]=c},{react:"react"}],8:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.LABELS=n.STYLES=void 0;var u=e("react"),l=a(u),c=e("../services/zxcvbn"),f=a(c),d=n.STYLES=["progress-bar-danger","progress-bar-warning","progress-bar-warning","progress-bar-primary","progress-bar-success"],p=n.LABELS=[gettext("Entered password is very weak."),gettext("Entered password is weak."),gettext("Entered password is average."),gettext("Entered password is strong."),gettext("Entered password is very strong.")],m=function(e){function t(e){r(this,t);var n=i(this,Object.getPrototypeOf(t).call(this,e));return n._score=0,n._password=null,n._inputs=[],n}return o(t,e),s(t,[{key:"getScore",value:function(e,t){var n=this,a=!1;return e.trim()!==this._password&&(a=!0),t.length!==this._inputs.length?a=!0:t.map(function(e,t){e.trim()!==n._inputs[t]&&(a=!0)}),a&&(this._score=f["default"].scorePassword(e,t),this._password=e.trim(),this._inputs=t.map(function(e){return e.trim()})),this._score}},{key:"render",value:function(){var e=this.getScore(this.props.password,this.props.inputs);return l["default"].createElement("div",{className:"help-block password-strength"},l["default"].createElement("div",{className:"progress"},l["default"].createElement("div",{className:"progress-bar "+d[e],style:{width:20+20*e+"%"},role:"progress-bar","aria-valuenow":e,"aria-valuemin":"0","aria-valuemax":"4"},l["default"].createElement("span",{className:"sr-only"},p[e]))),l["default"].createElement("p",{className:"text-small"},p[e]))}}]),t}(l["default"].Component);n["default"]=m},{"../services/zxcvbn":54,react:"react"}],9:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=e("./loader"),f=a(c),d=e("./register.js"),p=a(d),m=e("../services/captcha"),h=a(m),v=e("../services/modal"),b=a(v),y=e("../services/snackbar"),g=a(y),_=e("../services/zxcvbn"),w=a(_),k=function(e){function t(e){r(this,t);var n=i(this,Object.getPrototypeOf(t).call(this,e));return n.showRegisterModal=function(){"closed"===misago.get("SETTINGS").account_activation?g["default"].info(gettext("New registrations are currently disabled.")):n.state.isLoaded?b["default"].show(p["default"]):(n.setState({isLoading:!0}),Promise.all([h["default"].load(),w["default"].load()]).then(function(){n.state.isLoaded||n.setState({isLoading:!1,isLoaded:!1}),b["default"].show(p["default"])}))},n.state={isLoading:!1,isLoaded:!1},n}return o(t,e),s(t,[{key:"getClassName",value:function(){return this.props.className+(this.state.isLoading?" btn-loading":"")}},{key:"render",value:function(){return l["default"].createElement("button",{type:"button",onClick:this.showRegisterModal,className:"btn "+this.getClassName(),disabled:this.state.isLoaded},gettext("Register"),this.state.isLoading?l["default"].createElement(f["default"],null):null)}}]),t}(l["default"].Component);n["default"]=k},{"../services/captcha":47,"../services/modal":51,"../services/snackbar":52,"../services/zxcvbn":54,"./loader":7,"./register.js":10,react:"react"}],10:[function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.RegisterComplete=n.RegisterForm=void 0;var l=e("react"),c=r(l),f=e("./button"),d=r(f),p=e("./form"),m=r(p),h=e("./form-group"),v=r(h),b=e("./password-strength"),y=r(b),g=e("../index"),_=r(g),w=e("../services/ajax"),k=r(w),E=e("../services/auth"),O=r(E),x=e("../services/captcha"),j=r(x),P=e("../services/modal"),N=r(P),S=e("../services/snackbar"),C=r(S),M=e("../utils/banned-page"),T=r(M),I=e("../utils/validators"),R=a(I),L=n.RegisterForm=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,username:"",email:"",password:"",captcha:"",validators:{username:[R.usernameContent(),R.usernameMinLength(_["default"].get("SETTINGS")),R.usernameMaxLength(_["default"].get("SETTINGS"))],email:[R.email()],password:[R.passwordMinLength(_["default"].get("SETTINGS"))],captcha:j["default"].validator()},errors:{}},n}return s(t,e),u(t,[{key:"clean",value:function(){return this.isValid()?!0:(C["default"].error(gettext("Form contains errors.")),this.setState({errors:this.validate()}),!1)}},{key:"send",value:function(){return k["default"].post(_["default"].get("USERS_API"),{username:this.state.username,email:this.state.email,password:this.state.password,captcha:this.state.captcha})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){400===e.status?(this.setState({errors:Object.assign({},this.state.errors,e)}),C["default"].error(gettext("Form contains errors."))):403===e.status&&e.ban?((0,T["default"])(e.ban),N["default"].hide()):C["default"].apiError(e)}},{key:"getLegalFootNote",value:function(){return _["default"].get("TERMS_OF_SERVICE_URL")?c["default"].createElement("a",{href:_["default"].get("TERMS_OF_SERVICE_URL"),target:"_blank"},gettext("By registering you agree to site's terms and conditions.")):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog modal-register",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Register"))),c["default"].createElement("form",{onSubmit:this.handleSubmit,className:"form-horizontal"},c["default"].createElement("input",{type:"type",style:{display:"none"}}),c["default"].createElement("input",{type:"password",style:{display:"none"}}),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement(v["default"],{label:gettext("Username"),"for":"id_username",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.username},c["default"].createElement("input",{type:"text",id:"id_username",className:"form-control","aria-describedby":"id_username_status",disabled:this.state.isLoading,onChange:this.bindInput("username"),value:this.state.username})),c["default"].createElement(v["default"],{label:gettext("E-mail"),"for":"id_email",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.email},c["default"].createElement("input",{type:"text",id:"id_email",className:"form-control","aria-describedby":"id_email_status",disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email})),c["default"].createElement(v["default"],{label:gettext("Password"),"for":"id_password",labelClass:"col-sm-4",controlClass:"col-sm-8",validation:this.state.errors.password,extra:c["default"].createElement(y["default"],{password:this.state.password,inputs:[this.state.username,this.state.email]})},c["default"].createElement("input",{type:"password",id:"id_password",className:"form-control","aria-describedby":"id_password_status",disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password})),j["default"].component({form:this,labelClass:"col-sm-4",controlClass:"col-sm-8"})),c["default"].createElement("div",{className:"modal-footer"},this.getLegalFootNote(),c["default"].createElement(d["default"],{className:"btn-primary",loading:this.state.isLoading},gettext("Register account"))))))}}]),t}(m["default"]),A=n.RegisterComplete=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getLead",value:function(){return"user"===this.props.activation?gettext("%(username)s, your account has been created but you need to activate it before you will be able to sign in."):"admin"===this.props.activation?gettext("%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in."):void 0}},{key:"getSubscript",value:function(){return"user"===this.props.activation?gettext("We have sent an e-mail to %(email)s with link that you have to click to activate your account."):"admin"===this.props.activation?gettext("We will send an e-mail to %(email)s when this takes place."):void 0}},{key:"render",value:function(){return c["default"].createElement("div",{className:"modal-dialog modal-message modal-register",role:"document"},c["default"].createElement("div",{className:"modal-content"},c["default"].createElement("div",{className:"modal-header"},c["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},c["default"].createElement("span",{"aria-hidden":"true"},"×")),c["default"].createElement("h4",{className:"modal-title"},gettext("Registration complete"))),c["default"].createElement("div",{className:"modal-body"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},interpolate(this.getLead(),{username:this.props.username},!0)),c["default"].createElement("p",null,interpolate(this.getSubscript(),{email:this.props.email},!0))))))}}]),t}(c["default"].Component),z=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.completeRegistration=function(e){"active"===e.activation?(N["default"].hide(),O["default"].signIn(e)):n.setState({complete:e})},n.state={complete:!1},n}return s(t,e),u(t,[{key:"render",value:function(){return this.state.complete?c["default"].createElement(A,{activation:this.state.complete.activation,username:this.state.complete.username,email:this.state.complete.email}):c["default"].createElement(L,{callback:this.completeRegistration})}}]),t}(c["default"].Component);n["default"]=z},{"../index":19,"../services/ajax":45,"../services/auth":46,"../services/captcha":47,"../services/modal":51,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,"./form-group":5,"./password-strength":8,react:"react"}],11:[function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.LinkSent=n.RequestLinkForm=void 0;var l=e("react"),c=r(l),f=e("../index"),d=r(f),p=e("./button"),m=r(p),h=e("./form"),v=r(h),b=e("../services/ajax"),y=r(b),g=e("../services/snackbar"),_=r(g),w=e("../utils/validators"),k=a(w),E=e("../utils/banned-page"),O=r(E),x=n.RequestLinkForm=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,email:"",validators:{email:[k.email()]}},n}return s(t,e),u(t,[{key:"clean",value:function(){return this.isValid()?!0:(_["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return y["default"].post(d["default"].get("SEND_ACTIVATION_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["already_active","inactive_admin"].indexOf(e.code)>-1?_["default"].info(e.detail):403===e.status&&e.ban?(0,O["default"])(e.ban):_["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(m["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(v["default"]),j=n.LinkSent=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getMessage",value:function(){return interpolate(gettext("Activation link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-activation-link well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),P=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.complete=function(e){n.setState({complete:e})},n.reset=function(){n.setState({complete:!1})},n.state={complete:!1},n}return s(t,e),u(t,[{key:"render",
-value:function(){return this.state.complete?c["default"].createElement(j,{user:this.state.complete,callback:this.reset}):c["default"].createElement(x,{callback:this.complete})}}]),t}(c["default"].Component);n["default"]=P},{"../index":19,"../services/ajax":45,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,react:"react"}],12:[function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.AccountInactivePage=n.LinkSent=n.RequestResetForm=void 0;var l=e("react"),c=r(l),f=e("react-dom"),d=r(f),p=e("../index"),m=r(p),h=e("./button"),v=r(h),b=e("./form"),y=r(b),g=e("../services/ajax"),_=r(g),w=e("../services/snackbar"),k=r(w),E=e("../utils/validators"),O=a(E),x=e("../utils/banned-page"),j=r(x),P=n.RequestResetForm=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,email:"",validators:{email:[O.email()]}},n}return s(t,e),u(t,[{key:"clean",value:function(){return this.isValid()?!0:(k["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return _["default"].post(m["default"].get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,j["default"])(e.ban):k["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(v["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(y["default"]),N=n.LinkSent=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),S=n.AccountInactivePage=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?c["default"].createElement("p",null,c["default"].createElement("a",{href:m["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate your account."))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("Your account is inactive.")),c["default"].createElement("p",null,this.props.message),this.getActivateButton()))))}}]),t}(c["default"].Component),C=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.complete=function(e){n.setState({complete:e})},n.reset=function(){n.setState({complete:!1})},n.state={complete:!1},n}return s(t,e),u(t,[{key:"showInactivePage",value:function(e){d["default"].render(c["default"].createElement(S,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?c["default"].createElement(N,{user:this.state.complete,callback:this.reset}):c["default"].createElement(P,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),t}(c["default"].Component);n["default"]=C},{"../index":19,"../services/ajax":45,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,react:"react","react-dom":"react-dom"}],13:[function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.PasswordChangedPage=n.ResetPasswordForm=void 0;var l=e("react"),c=r(l),f=e("react-dom"),d=r(f),p=e("../index"),m=r(p),h=e("./button"),v=r(h),b=e("./form"),y=r(b),g=e("./sign-in.js"),_=r(g),w=e("../services/ajax"),k=r(w),E=e("../services/auth"),O=r(E),x=e("../services/modal"),j=r(x),P=e("../services/snackbar"),N=r(P),S=e("../utils/validators"),C=a(S),M=e("../utils/banned-page"),T=r(M),I=n.ResetPasswordForm=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,password:"",validators:{password:[C.passwordMinLength(m["default"].get("SETTINGS"))]}},n}return s(t,e),u(t,[{key:"clean",value:function(){return this.isValid()?!0:(this.state.password.trim().length?N["default"].error(this.state.errors.password[0]):N["default"].error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return k["default"].post(m["default"].get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,T["default"])(e.ban):N["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-reset-password"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement(v["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Change password"))))}}]),t}(y["default"]),R=n.PasswordChangedPage=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){j["default"].show(_["default"])}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-success page-forgotten-password-changed"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,gettext("You will have to sign in using new password before continuing.")),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},gettext("Sign in")))))))}}]),t}(c["default"].Component),L=function(e){function t(){var e,n,a,r;i(this,t);for(var s=arguments.length,u=Array(s),l=0;s>l;l++)u[l]=arguments[l];return n=a=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),a.complete=function(e){O["default"].softSignOut(),d["default"].render(c["default"].createElement(R,{user:e}),document.getElementById("page-mount"))},r=n,o(a,r)}return s(t,e),u(t,[{key:"render",value:function(){return c["default"].createElement(I,{callback:this.complete})}}]),t}(c["default"].Component);n["default"]=L},{"../index":19,"../services/ajax":45,"../services/auth":46,"../services/modal":51,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,"./sign-in.js":14,react:"react","react-dom":"react-dom"}],14:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=e("../index"),f=a(c),d=e("./button"),p=a(d),m=e("./form"),h=a(m),v=e("../services/ajax"),b=a(v),y=e("../services/modal"),g=a(y),_=e("../services/snackbar"),w=a(_),k=e("../utils/banned-page"),E=a(k),O=function(e){function t(e){r(this,t);var n=i(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},n}return o(t,e),s(t,[{key:"clean",value:function(){return this.isValid()?!0:(w["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return b["default"].post(f["default"].get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=$("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(b["default"].getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?w["default"].info(e.detail):"inactive_user"===e.code?(w["default"].info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,E["default"])(e.detail),g["default"].hide()):w["default"].error(e.detail):403===e.status&&e.ban?((0,E["default"])(e.ban),g["default"].hide()):w["default"].apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?l["default"].createElement("a",{href:f["default"].get("REQUEST_ACTIVATION_URL"),className:"btn btn-success btn-block"},gettext("Activate account")):null}},{key:"render",value:function(){return l["default"].createElement("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},l["default"].createElement("div",{className:"modal-content"},l["default"].createElement("div",{className:"modal-header"},l["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},l["default"].createElement("span",{"aria-hidden":"true"},"×")),l["default"].createElement("h4",{className:"modal-title"},gettext("Sign in"))),l["default"].createElement("form",{onSubmit:this.handleSubmit},l["default"].createElement("div",{className:"modal-body"},l["default"].createElement("div",{className:"form-group"},l["default"].createElement("div",{className:"control-input"},l["default"].createElement("input",{id:"id_username",className:"form-control",type:"text",disabled:this.state.isLoading,placeholder:gettext("Username or e-mail"),onChange:this.bindInput("username"),value:this.state.username}))),l["default"].createElement("div",{className:"form-group"},l["default"].createElement("div",{className:"control-input"},l["default"].createElement("input",{id:"id_password",className:"form-control",type:"password",disabled:this.state.isLoading,placeholder:gettext("Password"),onChange:this.bindInput("password"),value:this.state.password})))),l["default"].createElement("div",{className:"modal-footer"},this.getActivationButton(),l["default"].createElement(p["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Sign in")),l["default"].createElement("a",{href:f["default"].get("FORGOTTEN_PASSWORD_URL"),className:"btn btn-default btn-block"},gettext("Forgot password?"))))))}}]),t}(h["default"]);n["default"]=O},{"../index":19,"../services/ajax":45,"../services/modal":51,"../services/snackbar":52,"../utils/banned-page":55,"./button":4,"./form":6,react:"react"}],15:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.snackbar}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Snackbar=void 0,n.select=s;var l=e("react"),c=a(l),f={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"};n.Snackbar=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"getSnackbarClass",value:function(){var e="alerts-snackbar";return e+=this.props.isVisible?" in":" out"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getSnackbarClass()},c["default"].createElement("p",{className:"alert "+f[this.props.type]},this.props.message))}}]),t}(c["default"].Component)},{react:"react"}],16:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.CompactGuestNav=n.GuestNav=n.GuestMenu=void 0;var u=e("react"),l=a(u),c=e("../avatar"),f=a(c),d=e("../register-button"),p=a(d),m=e("../sign-in.js"),h=a(m),v=e("../../services/mobile-navbar-dropdown"),b=a(v),y=e("../../services/modal"),g=a(y),_=n.GuestMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"showSignInModal",value:function(){g["default"].show(h["default"])}},{key:"render",value:function(){return l["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},l["default"].createElement("li",{className:"guest-preview"},l["default"].createElement("h4",null,gettext("You are browsing as guest.")),l["default"].createElement("p",null,gettext("Sign in or register to start and participate in discussions.")),l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-xs-6"},l["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.showSignInModal},gettext("Sign in"))),l["default"].createElement("div",{className:"col-xs-6"},l["default"].createElement(p["default"],{className:"btn-primary btn-block"},gettext("Register"))))))}}]),t}(l["default"].Component);n.GuestNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"render",value:function(){return l["default"].createElement("div",{className:"nav nav-guest"},l["default"].createElement("button",{type:"button",className:"btn navbar-btn btn-default",onClick:this.showSignInModal},gettext("Sign in")),l["default"].createElement(p["default"],{className:"navbar-btn btn-primary"},gettext("Register")))}}]),t}(_),n.CompactGuestNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"showGuestMenu",value:function(){b["default"].show(_)}},{key:"render",value:function(){return l["default"].createElement("button",{type:"button",onClick:this.showGuestMenu},l["default"].createElement(f["default"],{size:"64"}))}}]),t}(l["default"].Component)},{"../../services/mobile-navbar-dropdown":50,"../../services/modal":51,"../avatar":2,"../register-button":9,"../sign-in.js":14,react:"react"}],17:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.auth}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.CompactUserMenu=n.UserMenu=void 0,n.select=s;var l=e("react"),c=a(l),f=e("./guest-nav"),d=e("./user-nav");n.UserMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(d.UserNav,{user:this.props.user}):c["default"].createElement(f.GuestNav,null)}}]),t}(c["default"].Component),n.CompactUserMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(d.CompactUserNav,{user:this.props.user}):c["default"].createElement(f.CompactGuestNav,null)}}]),t}(c["default"].Component)},{"./guest-nav":16,"./user-nav":18,react:"react"}],18:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{user:e.auth.user}}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.CompactUserNav=n.UserNav=n.UserMenu=void 0,n.selectUserMenu=s;var l=e("react"),c=a(l),f=e("react-redux"),d=e("../avatar"),p=a(d),m=e("../../index"),h=a(m),v=e("../../services/mobile-navbar-dropdown"),b=a(v),y=n.UserMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"logout",value:function(){var e=confirm(gettext("Are you sure you want to sign out?"));e&&$("#hidden-logout-form").submit()}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},c["default"].createElement("li",{className:"dropdown-header"},c["default"].createElement("strong",null,this.props.user.username)),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",null,c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement("span",{className:"material-icon"},"account_circle"),gettext("See your profile"))),c["default"].createElement("li",null,c["default"].createElement("a",{href:h["default"].get("USERCP_URL")},c["default"].createElement("span",{className:"material-icon"},"done_all"),gettext("Change options"))),c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn-link"},c["default"].createElement("span",{className:"material-icon"},"face"),gettext("Change avatar"))),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",{className:"dropdown-footer"},c["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.logout},gettext("Log out"))))}}]),t}(c["default"].Component);n.UserNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"render",value:function(){return c["default"].createElement("ul",{className:"ul nav navbar-nav nav-user"},c["default"].createElement("li",{className:"dropdown"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",role:"button"},c["default"].createElement(p["default"],{user:this.props.user,size:"64"})),c["default"].createElement(y,{user:this.props.user})))}}]),t}(c["default"].Component),n.CompactUserNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"showUserMenu",value:function(){b["default"].showConnected("user-menu",(0,f.connect)(s)(y))}},{key:"render",value:function(){return c["default"].createElement("button",{type:"button",onClick:this.showUserMenu},c["default"].createElement(p["default"],{user:this.props.user,size:"64"}))}}]),t}(c["default"].Component)},{"../../index":19,"../../services/mobile-navbar-dropdown":50,"../avatar":2,react:"react","react-redux":"react-redux"}],19:[function(e,t,n){(function(t){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Misago=void 0;var o=e("./utils/ordered-list"),s=a(o),u=n.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return i(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var n=new s["default"](this._initializers).orderedValues();n.forEach(function(e){e(t)})}},{key:"has",value:function(e){return this._context.hasOwnProperty(e)}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}}]),e}(),l=new u;t.misago=l,n["default"]=l}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils/ordered-list":57}],20:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init(o["default"].get("CSRF_COOKIE_NAME"))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/ajax"),u=a(s);o["default"].addInitializer({name:"ajax",initializer:r})},{"../index":19,"../services/ajax":45}],21:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,f["default"])((0,i.connect)(u.select)(l["default"]),"auth-message-mount")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react-redux"),o=e("../index"),s=a(o),u=e("../components/auth-message"),l=a(u),c=e("../utils/mount-component"),f=a(c);s["default"].addInitializer({name:"component:auth-message",initializer:r,after:"store"})},{"../components/auth-message":1,"../index":19,"../utils/mount-component":56,"react-redux":"react-redux"}],22:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].addReducer("auth",u["default"],Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},s.initialState))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/auth"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"reducer:auth",initializer:r,before:"store"})},{"../index":19,"../reducers/auth":42,"../services/store":53}],23:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init(c["default"],d["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/auth"),u=a(s),l=e("../services/store"),c=a(l),f=e("../services/local-storage"),d=a(f);o["default"].addInitializer({name:"auth",initializer:r,after:"store"})},{"../index":19,"../services/auth":46,"../services/local-storage":49,"../services/store":53}],24:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.get("BAN_MESSAGE")&&(0,u["default"])(e.get("BAN_MESSAGE"),!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../utils/banned-page"),u=a(s);o["default"].addInitializer({name:"component:baned-page",initializer:r,after:"store"})},{"../index":19,"../utils/banned-page":55}],25:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].init(e,u["default"],d["default"],m["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/ajax"),u=a(s),l=e("../services/captcha"),c=a(l),f=e("../services/include"),d=a(f),p=e("../services/snackbar"),m=a(p);o["default"].addInitializer({name:"captcha",initializer:r})},{"../index":19,"../services/ajax":45,"../services/captcha":47,"../services/include":48,"../services/snackbar":52}],26:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){u["default"].init(e.get("STATIC_URL"))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/include"),u=a(s);o["default"].addInitializer({name:"include",initializer:r})},{"../index":19,"../services/include":48}],27:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init("misago_")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/local-storage"),u=a(s);o["default"].addInitializer({name:"local-storage",initializer:r})},{"../index":19,"../services/local-storage":49}],28:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&u["default"].init(e)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/mobile-navbar-dropdown"),u=a(s);o["default"].addInitializer({name:"dropdown",initializer:r,before:"store"})},{"../index":19,"../services/mobile-navbar-dropdown":50}],29:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("modal-mount");e&&u["default"].init(e)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/modal"),u=a(s);o["default"].addInitializer({name:"modal",initializer:r,before:"store"})},{"../index":19,"../services/modal":51}],30:[function(e,t,n){"use strict";
-function a(e){return e&&e.__esModule?e:{"default":e}}function r(){o["default"].locale($("html").attr("lang"))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("moment"),o=a(i),s=e("../index"),u=a(s);u["default"].addInitializer({name:"moment",initializer:r})},{"../index":19,moment:"moment"}],31:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-activation-link-mount")&&(0,c["default"])(u["default"],"request-activation-link-mount",!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../components/request-activation-link"),u=a(s),l=e("../utils/mount-component"),c=a(l);o["default"].addInitializer({name:"component:request-activation-link",initializer:r,after:"store"})},{"../components/request-activation-link":11,"../index":19,"../utils/mount-component":56}],32:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-password-reset-mount")&&(0,c["default"])(u["default"],"request-password-reset-mount",!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../components/request-password-reset"),u=a(s),l=e("../utils/mount-component"),c=a(l);o["default"].addInitializer({name:"component:request-password-reset",initializer:r,after:"store"})},{"../components/request-password-reset":12,"../index":19,"../utils/mount-component":56}],33:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("reset-password-form-mount")&&(0,c["default"])(u["default"],"reset-password-form-mount",!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../components/reset-password-form"),u=a(s),l=e("../utils/mount-component"),c=a(l);o["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../components/reset-password-form":13,"../index":19,"../utils/mount-component":56}],34:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,i.connect)(u.select)(u.Snackbar),"snackbar-mount")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react-redux"),o=e("../index"),s=a(o),u=e("../components/snackbar"),l=e("../utils/mount-component"),c=a(l);s["default"].addInitializer({name:"component:snackbar",initializer:r,after:"snackbar"})},{"../components/snackbar":15,"../index":19,"../utils/mount-component":56,"react-redux":"react-redux"}],35:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("snackbar",u["default"],s.initialState)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/snackbar"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"reducer:snackbar",initializer:r,before:"store"})},{"../index":19,"../reducers/snackbar":43,"../services/store":53}],36:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init(c["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/snackbar"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"snackbar",initializer:r,after:"store"})},{"../index":19,"../services/snackbar":52,"../services/store":53}],37:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init()}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/store"),u=a(s);o["default"].addInitializer({name:"store",initializer:r,before:"_end"})},{"../index":19,"../services/store":53}],38:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("tick",u["default"],s.initialState)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/tick"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"reducer:tick",initializer:r,before:"store"})},{"../index":19,"../reducers/tick":44,"../services/store":53}],39:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){window.setInterval(function(){l["default"].dispatch((0,s.doTick)())},c)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/tick"),u=e("../services/store"),l=a(u),c=5e4;o["default"].addInitializer({name:"tick-start",initializer:r,after:"store"})},{"../index":19,"../reducers/tick":44,"../services/store":53}],40:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,i.connect)(u.select)(u.UserMenu),"user-menu-mount"),(0,c["default"])((0,i.connect)(u.select)(u.CompactUserMenu),"user-menu-compact-mount")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react-redux"),o=e("../index"),s=a(o),u=e("../components/user-menu/root"),l=e("../utils/mount-component"),c=a(l);s["default"].addInitializer({name:"component:user-menu",initializer:r,after:"store"})},{"../components/user-menu/root":17,"../index":19,"../utils/mount-component":56,"react-redux":"react-redux"}],41:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(u["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/include"),u=a(s),l=e("../services/zxcvbn"),c=a(l);o["default"].addInitializer({name:"zxcvbn",initializer:r})},{"../index":19,"../services/include":48,"../services/zxcvbn":54}],42:[function(e,t,n){"use strict";function a(e){return{type:s,user:e}}function r(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];return{type:u,soft:e}}function i(){var e=arguments.length<=0||void 0===arguments[0]?o:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case s:return Object.assign({},e,{signedIn:t.user});case u:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.signIn=a,n.signOut=r,n["default"]=i;var o=n.initialState={signedIn:!1,signedOut:!1},s=n.SIGN_IN="SIGN_IN",u=n.SIGN_OUT="SIGN_OUT"},{}],43:[function(e,t,n){"use strict";function a(e,t){return{type:s,message:e,messageType:t}}function r(){return{type:u}}function i(){var e=arguments.length<=0||void 0===arguments[0]?o:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===s?{type:t.messageType,message:t.message,isVisible:!0}:t.type===u?Object.assign({},e,{isVisible:!1}):e}Object.defineProperty(n,"__esModule",{value:!0}),n.showSnackbar=a,n.hideSnackbar=r,n["default"]=i;var o=n.initialState={type:"info",message:"",isVisible:!1},s=n.SHOW_SNACKBAR="SHOW_SNACKBAR",u=n.HIDE_SNACKBAR="HIDE_SNACKBAR"},{}],44:[function(e,t,n){"use strict";function a(){return{type:o}}function r(){var e=arguments.length<=0||void 0===arguments[0]?i:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===o?Object.assign({},e,{tick:e.tick+1}):e}Object.defineProperty(n,"__esModule",{value:!0}),n.doTick=a,n["default"]=r;var i=n.initialState={tick:0},o=n.TICK="TICK"},{}],45:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=n.Ajax=function(){function e(){a(this,e),this._cookieName=null,this._csrfToken=null}return r(e,[{key:"init",value:function(e){this._cookieName=e,this._csrfToken=this.getCsrfToken()}},{key:"getCsrfToken",value:function(){if(-1!==document.cookie.indexOf(this._cookieName)){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,n){var a=this;return new Promise(function(r,i){var o={url:t,method:e,headers:{"X-CSRFToken":a._csrfToken},data:n||{},dataType:"json",success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,t.statusText=e.statusText,i(t)}};$.ajax(o)})}},{key:"get",value:function(e){return this.request("GET",e)}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e){return this.request("DELETE",e)}}]),e}();n["default"]=new i},{}],46:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Auth=void 0;var i=e("../reducers/auth"),o=n.Auth=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e,t){this._store=e,this._local=t,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this;this._local.watch("auth",function(t){t.isAuthenticated?e._store.dispatch((0,i.signIn)({username:t.username})):e._store.dispatch((0,i.signOut)())})}},{key:"signIn",value:function(e){this._store.dispatch((0,i.signIn)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username})}},{key:"signOut",value:function(){this._store.dispatch((0,i.signOut)()),this._local.set("auth",{isAuthenticated:!1})}},{key:"softSignOut",value:function(){this._store.dispatch((0,i.signOut)(!0)),this._local.set("auth",{isAuthenticated:!1})}}]),e}();n["default"]=new o},{"../reducers/auth":42}],47:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Captcha=n.ReCaptcha=n.ReCaptchaComponent=n.QACaptcha=n.NoCaptcha=n.BaseCaptcha=void 0;var u=e("react"),l=a(u),c=e("../components/form-group"),f=a(c),d=n.BaseCaptcha=function(){function e(){o(this,e)}return s(e,[{key:"init",value:function(e,t,n,a){this._context=e,this._ajax=t,this._include=n,this._snackbar=a}}]),e}(),p=n.NoCaptcha=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"load",value:function(){return new Promise(function(e){e()})}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),t}(d),m=n.QACaptcha=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"load",value:function(){var e=this;return new Promise(function(t,n){e._ajax.get(e._context.get("CAPTCHA_API_URL")).then(function(n){e.question=n.question,e.helpText=n.help_text,t()},function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),n()})})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return l["default"].createElement(f["default"],{label:this.question,"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:this.helpText||null},l["default"].createElement("input",{type:"text",id:"id_captcha",className:"form-control","aria-describedby":"id_captcha_status",disabled:e.form.state.isLoading,onChange:e.form.bindInput("captcha"),value:e.form.state.captcha}))}}]),t}(d),h=n.ReCaptchaComponent=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return l["default"].createElement("div",{id:"recaptcha"})}}]),t}(l["default"].Component),v=n.ReCaptcha=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise(function(e){var t=function n(){"undefined"==typeof grecaptcha?window.setTimeout(function(){n()},200):e()};t()})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return l["default"].createElement(f["default"],{label:gettext("Captcha"),"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:gettext("Please solve the quick test.")},l["default"].createElement(h,{siteKey:this._context.get("SETTINGS").recaptcha_site_key,binding:e.form.bindInput("captcha")}))}}]),t}(d),b=n.Captcha=function(){function e(){o(this,e)}return s(e,[{key:"init",value:function(e,t,n,a){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new p;break;case"qa":this._captcha=new m;break;case"re":this._captcha=new v}this._captcha.init(e,t,n,a)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();n["default"]=new b},{"../components/form-group":5,react:"react"}],48:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=n.Include=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];-1===this._included.indexOf(e)&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){$.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();n["default"]=new i},{}],49:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=window.localStorage,o=n.LocalStorage=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",function(e){var n=JSON.parse(e.newValue);t._watchers.forEach(function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(n)})})}},{key:"set",value:function(e,t){i.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=i.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();n["default"]=new o},{}],50:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.MobileNavbarDropdown=void 0;var o=e("../utils/mount-component"),s=a(o),u=n.MobileNavbarDropdown=function(){function e(){r(this,e)}return i(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,s["default"])(e,this._element.id),$(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,s["default"])(t,this._element.id,!0),$(this._element).addClass("open"))}},{key:"hide",value:function(){$(this._element).removeClass("open"),this._component=null}}]),e}();n["default"]=new u},{"../utils/mount-component":56}],51:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Modal=void 0;var o=e("react-dom"),s=a(o),u=e("../utils/mount-component"),l=a(u),c=n.Modal=function(){function e(){r(this,e)}return i(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=$(e).modal({show:!1}),this._modal.on("hidden.bs.modal",function(){s["default"].unmountComponentAtNode(t._element)})}},{key:"show",value:function(e){(0,l["default"])(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();n["default"]=new c},{"../utils/mount-component":56,"react-dom":"react-dom"}],52:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Snackbar=void 0;var i=e("../reducers/snackbar"),o=300,s=5e3,u=n.Snackbar=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var n=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,i.hideSnackbar)()),this._timeout=window.setTimeout(function(){n._timeout=null,n.alert(e,t)},o)):(this._store.dispatch((0,i.showSnackbar)(e,t)),this._timeout=window.setTimeout(function(){n._store.dispatch((0,i.hideSnackbar)()),n._timeout=null},s))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=gettext("Unknown error has occured.");0===e.status&&(t=gettext("Lost connection with application.")),400===e.status&&e.detail&&(t=e.detail),403===e.status&&(t=e.detail,"Permission denied"===t&&(t=gettext("You don't have permission to perform this action."))),404===e.status&&(t=gettext("Action link is invalid.")),this.error(t)}}]),e}();n["default"]=new u},{"../reducers/snackbar":43}],53:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.StoreWrapper=void 0;var i=e("redux"),o=n.StoreWrapper=function(){function e(){a(this,e),this._store=null,this._reducers={},this._initialState={}}return r(e,[{key:"addReducer",value:function(e,t,n){this._reducers[e]=t,this._initialState[e]=n}},{key:"init",value:function(){this._store=(0,i.createStore)((0,i.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();n["default"]=new o},{redux:"redux"}],54:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=n.Zxcvbn=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){this._include=e}},{key:"scorePassword",value:function(e,t){return zxcvbn(e,t).score}},{key:"load",value:function(){return"undefined"==typeof zxcvbn?(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise()):this._loadedPromise()}},{key:"_loadingPromise",value:function(){return new Promise(function(e){var t=function n(){"undefined"==typeof zxcvbn?window.setTimeout(function(){n()},200):e()};t()})}},{key:"_loadedPromise",value:function(){return new Promise(function(e){e()})}}]),e}();n["default"]=new i},{}],55:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=function(e,t){if(l["default"].render(s["default"].createElement(c.Provider,{store:v["default"].getStore()},s["default"].createElement(y,{message:e.message,expires:e.expires_on?(0,i["default"])(e.expires_on):null})),document.getElementById("page-mount")),"undefined"==typeof t||t){var n=m["default"].get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+n,window.history.pushState({},"",m["default"].get("BANNED_URL"))}};var r=e("moment"),i=a(r),o=e("react"),s=a(o),u=e("react-dom"),l=a(u),c=e("react-redux"),f=e("../components/banned-page"),d=a(f),p=e("../index"),m=a(p),h=e("../services/store"),v=a(h),b=function(e){return e.tick},y=(0,c.connect)(b)(d["default"])},{"../components/banned-page":3,"../index":19,"../services/store":53,moment:"moment",react:"react","react-dom":"react-dom","react-redux":"react-redux"}],56:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){var n=arguments.length<=2||void 0===arguments[2]?!0:arguments[2],a=document.getElementById(t);a&&(n?u["default"].render(o["default"].createElement(l.Provider,{store:f["default"].getStore()},o["default"].createElement(e,null)),a):u["default"].render(o["default"].createElement(e,null),a))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react"),o=a(i),s=e("react-dom"),u=a(s),l=e("react-redux"),c=e("../services/store"),f=a(c)},{"../services/store":53,react:"react","react-dom":"react-dom","react-redux":"react-redux"}],57:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(t){a(this,e),this.isOrdered=!1,this._items=t||[]}return r(e,[{key:"add",value:function(e,t,n){this._items.push({key:e,item:t,after:n?n.after||null:null,before:n?n.before||null:null})}},{key:"get",value:function(e,t){for(var n=0;n<this._items.length;n++)if(this._items[n].key===e)return this._items[n].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function t(){for(var t=[],e=0;e<this._items.length;e++)t.push(this._items[e].item);return t}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||"undefined"==typeof e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){function t(e){var t=-1;-1===r.indexOf(e.key)&&(e.after?(t=r.indexOf(e.after),-1!==t&&(t+=1)):e.before&&(t=r.indexOf(e.before)),-1!==t&&(a.splice(t,0,e),r.splice(t,0,e.key)))}var n=[];e.forEach(function(e){n.push(e.key)});var a=[],r=[];e.forEach(function(e){e.after||e.before||(a.push(e),r.push(e.key))}),e.forEach(function(e){"_end"===e.before&&(a.push(e),r.push(e.key))});for(var i=200;i>0&&n.length!==r.length;)i-=1,e.forEach(t);return a}}]),e}();n["default"]=i},{}],58:[function(e,t,n){"use strict";function a(){return function(e){return 0===$.trim(e).length?gettext("This field is required."):void 0}}function r(e){return function(t){return f.test(t)?void 0:e||gettext("Enter a valid email address.")}}function i(e,t){return function(n){var a="",r=$.trim(n).length;return e>r?(a=t?t(e,r):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(a,{limit_value:e,show_value:r},!0)):void 0}}function o(e,t){return function(n){var a="",r=$.trim(n).length;return r>e?(a=t?t(e,r):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(a,{limit_value:e,show_value:r},!0)):void 0}}function s(e){var t=function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)};return this.minLength(e.username_length_min,t)}function u(e){var t=function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)};return this.maxLength(e.username_length_max,t)}function l(){return function(e){return d.test($.trim(e))?void 0:gettext("Username can only contain latin alphabet letters and digits.")}}function c(e){var t=function(e){return ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e)};return this.minLength(e.password_length_min,t)}Object.defineProperty(n,"__esModule",{value:!0}),n.required=a,n.email=r,n.minLength=i,n.maxLength=o,n.usernameMinLength=s,n.usernameMaxLength=u,n.usernameContent=l,n.passwordMinLength=c;var f=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,d=new RegExp("^[0-9a-z]+$","i")},{}]},{},[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]);
+value:function(){return this.state.complete?c["default"].createElement(j,{user:this.state.complete,callback:this.reset}):c["default"].createElement(x,{callback:this.complete})}}]),t}(c["default"].Component);n["default"]=P},{"../index":19,"../services/ajax":45,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,react:"react"}],12:[function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.AccountInactivePage=n.LinkSent=n.RequestResetForm=void 0;var l=e("react"),c=r(l),f=e("react-dom"),d=r(f),p=e("../index"),m=r(p),h=e("./button"),v=r(h),b=e("./form"),y=r(b),g=e("../services/ajax"),_=r(g),w=e("../services/snackbar"),k=r(w),E=e("../utils/validators"),O=a(E),x=e("../utils/banned-page"),j=r(x),P=n.RequestResetForm=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,email:"",validators:{email:[O.email()]}},n}return s(t,e),u(t,[{key:"clean",value:function(){return this.isValid()?!0:(k["default"].error(gettext("Enter a valid email address.")),!1)}},{key:"send",value:function(){return _["default"].post(m["default"].get("SEND_PASSWORD_RESET_API"),{email:this.state.email})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){["inactive_user","inactive_admin"].indexOf(e.code)>-1?this.props.showInactivePage(e):403===e.status&&e.ban?(0,j["default"])(e.ban):k["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"text",className:"form-control",placeholder:gettext("Your e-mail address"),disabled:this.state.isLoading,onChange:this.bindInput("email"),value:this.state.email}))),c["default"].createElement(v["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Send link"))))}}]),t}(y["default"]),N=n.LinkSent=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getMessage",value:function(){return interpolate(gettext("Reset password link was sent to %(email)s"),{email:this.props.user.email},!0)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-request-password-reset well-done"},c["default"].createElement("div",{className:"done-message"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",null,this.getMessage())),c["default"].createElement("button",{type:"button",className:"btn btn-primary btn-block",onClick:this.props.callback},gettext("Request another link"))))}}]),t}(c["default"].Component),S=n.AccountInactivePage=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getActivateButton",value:function(){return"inactive_user"===this.props.activation?c["default"].createElement("p",null,c["default"].createElement("a",{href:m["default"].get("REQUEST_ACTIVATION_URL")},gettext("Activate your account."))):null}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-info page-forgotten-password-inactive"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"info_outline")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},gettext("Your account is inactive.")),c["default"].createElement("p",null,this.props.message),this.getActivateButton()))))}}]),t}(c["default"].Component),C=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.complete=function(e){n.setState({complete:e})},n.reset=function(){n.setState({complete:!1})},n.state={complete:!1},n}return s(t,e),u(t,[{key:"showInactivePage",value:function(e){d["default"].render(c["default"].createElement(S,{activation:e.code,message:e.detail}),document.getElementById("page-mount"))}},{key:"render",value:function(){return this.state.complete?c["default"].createElement(N,{user:this.state.complete,callback:this.reset}):c["default"].createElement(P,{callback:this.complete,showInactivePage:this.showInactivePage})}}]),t}(c["default"].Component);n["default"]=C},{"../index":19,"../services/ajax":45,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,react:"react","react-dom":"react-dom"}],13:[function(e,t,n){"use strict";function a(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function r(e){return e&&e.__esModule?e:{"default":e}}function i(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.PasswordChangedPage=n.ResetPasswordForm=void 0;var l=e("react"),c=r(l),f=e("react-dom"),d=r(f),p=e("../index"),m=r(p),h=e("./button"),v=r(h),b=e("./form"),y=r(b),g=e("./sign-in.js"),_=r(g),w=e("../services/ajax"),k=r(w),E=e("../services/auth"),O=r(E),x=e("../services/modal"),j=r(x),P=e("../services/snackbar"),N=r(P),S=e("../utils/validators"),C=a(S),M=e("../utils/banned-page"),T=r(M),I=n.ResetPasswordForm=function(e){function t(e){i(this,t);var n=o(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,password:"",validators:{password:[C.passwordMinLength(m["default"].get("SETTINGS"))]}},n}return s(t,e),u(t,[{key:"clean",value:function(){return this.isValid()?!0:(this.state.password.trim().length?N["default"].error(this.state.errors.password[0]):N["default"].error(gettext("Enter new password.")),!1)}},{key:"send",value:function(){return k["default"].post(m["default"].get("CHANGE_PASSWORD_API"),{password:this.state.password})}},{key:"handleSuccess",value:function(e){this.props.callback(e)}},{key:"handleError",value:function(e){403===e.status&&e.ban?(0,T["default"])(e.ban):N["default"].apiError(e)}},{key:"render",value:function(){return c["default"].createElement("div",{className:"well well-form well-form-reset-password"},c["default"].createElement("form",{onSubmit:this.handleSubmit},c["default"].createElement("div",{className:"form-group"},c["default"].createElement("div",{className:"control-input"},c["default"].createElement("input",{type:"password",className:"form-control",placeholder:gettext("Enter new password"),disabled:this.state.isLoading,onChange:this.bindInput("password"),value:this.state.password}))),c["default"].createElement(v["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Change password"))))}}]),t}(y["default"]),R=n.PasswordChangedPage=function(e){function t(){return i(this,t),o(this,Object.getPrototypeOf(t).apply(this,arguments))}return s(t,e),u(t,[{key:"getMessage",value:function(){return interpolate(gettext("%(username)s, your password has been changed successfully."),{username:this.props.user.username},!0)}},{key:"showSignIn",value:function(){j["default"].show(_["default"])}},{key:"render",value:function(){return c["default"].createElement("div",{className:"page page-message page-message-success page-forgotten-password-changed"},c["default"].createElement("div",{className:"container"},c["default"].createElement("div",{className:"message-panel"},c["default"].createElement("div",{className:"message-icon"},c["default"].createElement("span",{className:"material-icon"},"check")),c["default"].createElement("div",{className:"message-body"},c["default"].createElement("p",{className:"lead"},this.getMessage()),c["default"].createElement("p",null,gettext("You will have to sign in using new password before continuing.")),c["default"].createElement("p",null,c["default"].createElement("button",{type:"button",className:"btn btn-primary",onClick:this.showSignIn},gettext("Sign in")))))))}}]),t}(c["default"].Component),L=function(e){function t(){var e,n,a,r;i(this,t);for(var s=arguments.length,u=Array(s),l=0;s>l;l++)u[l]=arguments[l];return n=a=o(this,(e=Object.getPrototypeOf(t)).call.apply(e,[this].concat(u))),a.complete=function(e){O["default"].softSignOut(),$('#hidden-login-form input[name="redirect_to"]').remove(),d["default"].render(c["default"].createElement(R,{user:e}),document.getElementById("page-mount"))},r=n,o(a,r)}return s(t,e),u(t,[{key:"render",value:function(){return c["default"].createElement(I,{callback:this.complete})}}]),t}(c["default"].Component);n["default"]=L},{"../index":19,"../services/ajax":45,"../services/auth":46,"../services/modal":51,"../services/snackbar":52,"../utils/banned-page":55,"../utils/validators":58,"./button":4,"./form":6,"./sign-in.js":14,react:"react","react-dom":"react-dom"}],14:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var u=e("react"),l=a(u),c=e("../index"),f=a(c),d=e("./button"),p=a(d),m=e("./form"),h=a(m),v=e("../services/ajax"),b=a(v),y=e("../services/modal"),g=a(y),_=e("../services/snackbar"),w=a(_),k=e("../utils/banned-page"),E=a(k),O=function(e){function t(e){r(this,t);var n=i(this,Object.getPrototypeOf(t).call(this,e));return n.state={isLoading:!1,showActivation:!1,username:"",password:"",validators:{username:[],password:[]}},n}return o(t,e),s(t,[{key:"clean",value:function(){return this.isValid()?!0:(w["default"].error(gettext("Fill out both fields.")),!1)}},{key:"send",value:function(){return b["default"].post(f["default"].get("AUTH_API"),{username:this.state.username,password:this.state.password})}},{key:"handleSuccess",value:function(){var e=$("#hidden-login-form");e.append('<input type="text" name="username" />'),e.append('<input type="password" name="password" />'),e.find('input[type="hidden"]').val(b["default"].getCsrfToken()),e.find('input[name="redirect_to"]').val(window.location.pathname),e.find('input[name="username"]').val(this.state.username),e.find('input[name="password"]').val(this.state.password),e.submit(),this.setState({isLoading:!0})}},{key:"handleError",value:function(e){400===e.status?"inactive_admin"===e.code?w["default"].info(e.detail):"inactive_user"===e.code?(w["default"].info(e.detail),this.setState({showActivation:!0})):"banned"===e.code?((0,E["default"])(e.detail),g["default"].hide()):w["default"].error(e.detail):403===e.status&&e.ban?((0,E["default"])(e.ban),g["default"].hide()):w["default"].apiError(e)}},{key:"getActivationButton",value:function(){return this.state.showActivation?l["default"].createElement("a",{href:f["default"].get("REQUEST_ACTIVATION_URL"),className:"btn btn-success btn-block"},gettext("Activate account")):null}},{key:"render",value:function(){return l["default"].createElement("div",{className:"modal-dialog modal-sm modal-sign-in",role:"document"},l["default"].createElement("div",{className:"modal-content"},l["default"].createElement("div",{className:"modal-header"},l["default"].createElement("button",{type:"button",className:"close","data-dismiss":"modal","aria-label":gettext("Close")},l["default"].createElement("span",{"aria-hidden":"true"},"×")),l["default"].createElement("h4",{className:"modal-title"},gettext("Sign in"))),l["default"].createElement("form",{onSubmit:this.handleSubmit},l["default"].createElement("div",{className:"modal-body"},l["default"].createElement("div",{className:"form-group"},l["default"].createElement("div",{className:"control-input"},l["default"].createElement("input",{id:"id_username",className:"form-control",type:"text",disabled:this.state.isLoading,placeholder:gettext("Username or e-mail"),onChange:this.bindInput("username"),value:this.state.username}))),l["default"].createElement("div",{className:"form-group"},l["default"].createElement("div",{className:"control-input"},l["default"].createElement("input",{id:"id_password",className:"form-control",type:"password",disabled:this.state.isLoading,placeholder:gettext("Password"),onChange:this.bindInput("password"),value:this.state.password})))),l["default"].createElement("div",{className:"modal-footer"},this.getActivationButton(),l["default"].createElement(p["default"],{className:"btn-primary btn-block",loading:this.state.isLoading},gettext("Sign in")),l["default"].createElement("a",{href:f["default"].get("FORGOTTEN_PASSWORD_URL"),className:"btn btn-default btn-block"},gettext("Forgot password?"))))))}}]),t}(h["default"]);n["default"]=O},{"../index":19,"../services/ajax":45,"../services/modal":51,"../services/snackbar":52,"../utils/banned-page":55,"./button":4,"./form":6,react:"react"}],15:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.snackbar}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Snackbar=void 0,n.select=s;var l=e("react"),c=a(l),f={info:"alert-info",success:"alert-success",warning:"alert-warning",error:"alert-danger"};n.Snackbar=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"getSnackbarClass",value:function(){var e="alerts-snackbar";return e+=this.props.isVisible?" in":" out"}},{key:"render",value:function(){return c["default"].createElement("div",{className:this.getSnackbarClass()},c["default"].createElement("p",{className:"alert "+f[this.props.type]},this.props.message))}}]),t}(c["default"].Component)},{react:"react"}],16:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.CompactGuestNav=n.GuestNav=n.GuestMenu=void 0;var u=e("react"),l=a(u),c=e("../avatar"),f=a(c),d=e("../register-button"),p=a(d),m=e("../sign-in.js"),h=a(m),v=e("../../services/mobile-navbar-dropdown"),b=a(v),y=e("../../services/modal"),g=a(y),_=n.GuestMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"showSignInModal",value:function(){g["default"].show(h["default"])}},{key:"render",value:function(){return l["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},l["default"].createElement("li",{className:"guest-preview"},l["default"].createElement("h4",null,gettext("You are browsing as guest.")),l["default"].createElement("p",null,gettext("Sign in or register to start and participate in discussions.")),l["default"].createElement("div",{className:"row"},l["default"].createElement("div",{className:"col-xs-6"},l["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.showSignInModal},gettext("Sign in"))),l["default"].createElement("div",{className:"col-xs-6"},l["default"].createElement(p["default"],{className:"btn-primary btn-block"},gettext("Register"))))))}}]),t}(l["default"].Component);n.GuestNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"render",value:function(){return l["default"].createElement("div",{className:"nav nav-guest"},l["default"].createElement("button",{type:"button",className:"btn navbar-btn btn-default",onClick:this.showSignInModal},gettext("Sign in")),l["default"].createElement(p["default"],{className:"navbar-btn btn-primary"},gettext("Register")))}}]),t}(_),n.CompactGuestNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),s(t,[{key:"showGuestMenu",value:function(){b["default"].show(_)}},{key:"render",value:function(){return l["default"].createElement("button",{type:"button",onClick:this.showGuestMenu},l["default"].createElement(f["default"],{size:"64"}))}}]),t}(l["default"].Component)},{"../../services/mobile-navbar-dropdown":50,"../../services/modal":51,"../avatar":2,"../register-button":9,"../sign-in.js":14,react:"react"}],17:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return e.auth}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.CompactUserMenu=n.UserMenu=void 0,n.select=s;var l=e("react"),c=a(l),f=e("./guest-nav"),d=e("./user-nav");n.UserMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(d.UserNav,{user:this.props.user}):c["default"].createElement(f.GuestNav,null)}}]),t}(c["default"].Component),n.CompactUserMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"render",value:function(){return this.props.isAuthenticated?c["default"].createElement(d.CompactUserNav,{user:this.props.user}):c["default"].createElement(f.CompactGuestNav,null)}}]),t}(c["default"].Component)},{"./guest-nav":16,"./user-nav":18,react:"react"}],18:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){return{user:e.auth.user}}var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.CompactUserNav=n.UserNav=n.UserMenu=void 0,n.selectUserMenu=s;var l=e("react"),c=a(l),f=e("react-redux"),d=e("../avatar"),p=a(d),m=e("../../index"),h=a(m),v=e("../../services/mobile-navbar-dropdown"),b=a(v),y=n.UserMenu=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"logout",value:function(){var e=confirm(gettext("Are you sure you want to sign out?"));e&&$("#hidden-logout-form").submit()}},{key:"render",value:function(){return c["default"].createElement("ul",{className:"dropdown-menu user-dropdown dropdown-menu-right",role:"menu"},c["default"].createElement("li",{className:"dropdown-header"},c["default"].createElement("strong",null,this.props.user.username)),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",null,c["default"].createElement("a",{href:this.props.user.absolute_url},c["default"].createElement("span",{className:"material-icon"},"account_circle"),gettext("See your profile"))),c["default"].createElement("li",null,c["default"].createElement("a",{href:h["default"].get("USERCP_URL")},c["default"].createElement("span",{className:"material-icon"},"done_all"),gettext("Change options"))),c["default"].createElement("li",null,c["default"].createElement("button",{type:"button",className:"btn-link"},c["default"].createElement("span",{className:"material-icon"},"face"),gettext("Change avatar"))),c["default"].createElement("li",{className:"divider"}),c["default"].createElement("li",{className:"dropdown-footer"},c["default"].createElement("button",{type:"button",className:"btn btn-default btn-block",onClick:this.logout},gettext("Log out"))))}}]),t}(c["default"].Component);n.UserNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"render",value:function(){return c["default"].createElement("ul",{className:"ul nav navbar-nav nav-user"},c["default"].createElement("li",{className:"dropdown"},c["default"].createElement("a",{href:this.props.user.absolute_url,className:"dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false",role:"button"},c["default"].createElement(p["default"],{user:this.props.user,size:"64"})),c["default"].createElement(y,{user:this.props.user})))}}]),t}(c["default"].Component),n.CompactUserNav=function(e){function t(){return r(this,t),i(this,Object.getPrototypeOf(t).apply(this,arguments))}return o(t,e),u(t,[{key:"showUserMenu",value:function(){b["default"].showConnected("user-menu",(0,f.connect)(s)(y))}},{key:"render",value:function(){return c["default"].createElement("button",{type:"button",onClick:this.showUserMenu},c["default"].createElement(p["default"],{user:this.props.user,size:"64"}))}}]),t}(c["default"].Component)},{"../../index":19,"../../services/mobile-navbar-dropdown":50,"../avatar":2,react:"react","react-redux":"react-redux"}],19:[function(e,t,n){(function(t){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Misago=void 0;var o=e("./utils/ordered-list"),s=a(o),u=n.Misago=function(){function e(){r(this,e),this._initializers=[],this._context={}}return i(e,[{key:"addInitializer",value:function(e){this._initializers.push({key:e.name,item:e.initializer,after:e.after,before:e.before})}},{key:"init",value:function(e){var t=this;this._context=e;var n=new s["default"](this._initializers).orderedValues();n.forEach(function(e){e(t)})}},{key:"has",value:function(e){return this._context.hasOwnProperty(e)}},{key:"get",value:function(e,t){return this.has(e)?this._context[e]:t||void 0}}]),e}(),l=new u;t.misago=l,n["default"]=l}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./utils/ordered-list":57}],20:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init(o["default"].get("CSRF_COOKIE_NAME"))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/ajax"),u=a(s);o["default"].addInitializer({name:"ajax",initializer:r})},{"../index":19,"../services/ajax":45}],21:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,f["default"])((0,i.connect)(u.select)(l["default"]),"auth-message-mount")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react-redux"),o=e("../index"),s=a(o),u=e("../components/auth-message"),l=a(u),c=e("../utils/mount-component"),f=a(c);s["default"].addInitializer({name:"component:auth-message",initializer:r,after:"store"})},{"../components/auth-message":1,"../index":19,"../utils/mount-component":56,"react-redux":"react-redux"}],22:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].addReducer("auth",u["default"],Object.assign({isAuthenticated:e.get("isAuthenticated"),isAnonymous:!e.get("isAuthenticated"),user:e.get("user")},s.initialState))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/auth"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"reducer:auth",initializer:r,before:"store"})},{"../index":19,"../reducers/auth":42,"../services/store":53}],23:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init(c["default"],d["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/auth"),u=a(s),l=e("../services/store"),c=a(l),f=e("../services/local-storage"),d=a(f);o["default"].addInitializer({name:"auth",initializer:r,after:"store"})},{"../index":19,"../services/auth":46,"../services/local-storage":49,"../services/store":53}],24:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){e.get("BAN_MESSAGE")&&(0,u["default"])(e.get("BAN_MESSAGE"),!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../utils/banned-page"),u=a(s);o["default"].addInitializer({name:"component:baned-page",initializer:r,after:"store"})},{"../index":19,"../utils/banned-page":55}],25:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){c["default"].init(e,u["default"],d["default"],m["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/ajax"),u=a(s),l=e("../services/captcha"),c=a(l),f=e("../services/include"),d=a(f),p=e("../services/snackbar"),m=a(p);o["default"].addInitializer({name:"captcha",initializer:r})},{"../index":19,"../services/ajax":45,"../services/captcha":47,"../services/include":48,"../services/snackbar":52}],26:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e){u["default"].init(e.get("STATIC_URL"))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/include"),u=a(s);o["default"].addInitializer({name:"include",initializer:r})},{"../index":19,"../services/include":48}],27:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init("misago_")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/local-storage"),u=a(s);o["default"].addInitializer({name:"local-storage",initializer:r})},{"../index":19,"../services/local-storage":49}],28:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("mobile-navbar-dropdown-mount");e&&u["default"].init(e)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/mobile-navbar-dropdown"),u=a(s);o["default"].addInitializer({name:"dropdown",initializer:r,before:"store"})},{"../index":19,"../services/mobile-navbar-dropdown":50}],29:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){var e=document.getElementById("modal-mount");e&&u["default"].init(e)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/modal"),u=a(s);o["default"].addInitializer({name:"modal",initializer:r,before:"store"})},{"../index":19,
+"../services/modal":51}],30:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){o["default"].locale($("html").attr("lang"))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("moment"),o=a(i),s=e("../index"),u=a(s);u["default"].addInitializer({name:"moment",initializer:r})},{"../index":19,moment:"moment"}],31:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-activation-link-mount")&&(0,c["default"])(u["default"],"request-activation-link-mount",!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../components/request-activation-link"),u=a(s),l=e("../utils/mount-component"),c=a(l);o["default"].addInitializer({name:"component:request-activation-link",initializer:r,after:"store"})},{"../components/request-activation-link":11,"../index":19,"../utils/mount-component":56}],32:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("request-password-reset-mount")&&(0,c["default"])(u["default"],"request-password-reset-mount",!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../components/request-password-reset"),u=a(s),l=e("../utils/mount-component"),c=a(l);o["default"].addInitializer({name:"component:request-password-reset",initializer:r,after:"store"})},{"../components/request-password-reset":12,"../index":19,"../utils/mount-component":56}],33:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){document.getElementById("reset-password-form-mount")&&(0,c["default"])(u["default"],"reset-password-form-mount",!1)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../components/reset-password-form"),u=a(s),l=e("../utils/mount-component"),c=a(l);o["default"].addInitializer({name:"component:reset-password-form",initializer:r,after:"store"})},{"../components/reset-password-form":13,"../index":19,"../utils/mount-component":56}],34:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,i.connect)(u.select)(u.Snackbar),"snackbar-mount")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react-redux"),o=e("../index"),s=a(o),u=e("../components/snackbar"),l=e("../utils/mount-component"),c=a(l);s["default"].addInitializer({name:"component:snackbar",initializer:r,after:"snackbar"})},{"../components/snackbar":15,"../index":19,"../utils/mount-component":56,"react-redux":"react-redux"}],35:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("snackbar",u["default"],s.initialState)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/snackbar"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"reducer:snackbar",initializer:r,before:"store"})},{"../index":19,"../reducers/snackbar":43,"../services/store":53}],36:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init(c["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/snackbar"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"snackbar",initializer:r,after:"store"})},{"../index":19,"../services/snackbar":52,"../services/store":53}],37:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){u["default"].init()}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/store"),u=a(s);o["default"].addInitializer({name:"store",initializer:r,before:"_end"})},{"../index":19,"../services/store":53}],38:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].addReducer("tick",u["default"],s.initialState)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/tick"),u=a(s),l=e("../services/store"),c=a(l);o["default"].addInitializer({name:"reducer:tick",initializer:r,before:"store"})},{"../index":19,"../reducers/tick":44,"../services/store":53}],39:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){window.setInterval(function(){l["default"].dispatch((0,s.doTick)())},c)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../reducers/tick"),u=e("../services/store"),l=a(u),c=5e4;o["default"].addInitializer({name:"tick-start",initializer:r,after:"store"})},{"../index":19,"../reducers/tick":44,"../services/store":53}],40:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){(0,c["default"])((0,i.connect)(u.select)(u.UserMenu),"user-menu-mount"),(0,c["default"])((0,i.connect)(u.select)(u.CompactUserMenu),"user-menu-compact-mount")}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react-redux"),o=e("../index"),s=a(o),u=e("../components/user-menu/root"),l=e("../utils/mount-component"),c=a(l);s["default"].addInitializer({name:"component:user-menu",initializer:r,after:"store"})},{"../components/user-menu/root":17,"../index":19,"../utils/mount-component":56,"react-redux":"react-redux"}],41:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(){c["default"].init(u["default"])}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("../index"),o=a(i),s=e("../services/include"),u=a(s),l=e("../services/zxcvbn"),c=a(l);o["default"].addInitializer({name:"zxcvbn",initializer:r})},{"../index":19,"../services/include":48,"../services/zxcvbn":54}],42:[function(e,t,n){"use strict";function a(e){return{type:s,user:e}}function r(){var e=arguments.length<=0||void 0===arguments[0]?!1:arguments[0];return{type:u,soft:e}}function i(){var e=arguments.length<=0||void 0===arguments[0]?o:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];switch(t.type){case s:return Object.assign({},e,{signedIn:t.user});case u:return Object.assign({},e,{isAuthenticated:!1,isAnonymous:!0,signedOut:!t.soft});default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n.signIn=a,n.signOut=r,n["default"]=i;var o=n.initialState={signedIn:!1,signedOut:!1},s=n.SIGN_IN="SIGN_IN",u=n.SIGN_OUT="SIGN_OUT"},{}],43:[function(e,t,n){"use strict";function a(e,t){return{type:s,message:e,messageType:t}}function r(){return{type:u}}function i(){var e=arguments.length<=0||void 0===arguments[0]?o:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===s?{type:t.messageType,message:t.message,isVisible:!0}:t.type===u?Object.assign({},e,{isVisible:!1}):e}Object.defineProperty(n,"__esModule",{value:!0}),n.showSnackbar=a,n.hideSnackbar=r,n["default"]=i;var o=n.initialState={type:"info",message:"",isVisible:!1},s=n.SHOW_SNACKBAR="SHOW_SNACKBAR",u=n.HIDE_SNACKBAR="HIDE_SNACKBAR"},{}],44:[function(e,t,n){"use strict";function a(){return{type:o}}function r(){var e=arguments.length<=0||void 0===arguments[0]?i:arguments[0],t=arguments.length<=1||void 0===arguments[1]?null:arguments[1];return t.type===o?Object.assign({},e,{tick:e.tick+1}):e}Object.defineProperty(n,"__esModule",{value:!0}),n.doTick=a,n["default"]=r;var i=n.initialState={tick:0},o=n.TICK="TICK"},{}],45:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=n.Ajax=function(){function e(){a(this,e),this._cookieName=null,this._csrfToken=null}return r(e,[{key:"init",value:function(e){this._cookieName=e,this._csrfToken=this.getCsrfToken()}},{key:"getCsrfToken",value:function(){if(-1!==document.cookie.indexOf(this._cookieName)){var e=new RegExp(this._cookieName+"=([^;]*)"),t=document.cookie.match(e)[0];return t?t.split("=")[1]:null}return null}},{key:"request",value:function(e,t,n){var a=this;return new Promise(function(r,i){var o={url:t,method:e,headers:{"X-CSRFToken":a._csrfToken},data:n||{},dataType:"json",success:function(e){r(e)},error:function(e){var t=e.responseJSON||{};t.status=e.status,t.statusText=e.statusText,i(t)}};$.ajax(o)})}},{key:"get",value:function(e){return this.request("GET",e)}},{key:"post",value:function(e,t){return this.request("POST",e,t)}},{key:"patch",value:function(e,t){return this.request("PATCH",e,t)}},{key:"put",value:function(e,t){return this.request("PUT",e,t)}},{key:"delete",value:function(e){return this.request("DELETE",e)}}]),e}();n["default"]=new i},{}],46:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Auth=void 0;var i=e("../reducers/auth"),o=n.Auth=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e,t){this._store=e,this._local=t,this.syncSession(),this.watchState()}},{key:"syncSession",value:function(){var e=this._store.getState().auth;e.isAuthenticated?this._local.set("auth",{isAuthenticated:!0,username:e.user.username}):this._local.set("auth",{isAuthenticated:!1})}},{key:"watchState",value:function(){var e=this;this._local.watch("auth",function(t){t.isAuthenticated?e._store.dispatch((0,i.signIn)({username:t.username})):e._store.dispatch((0,i.signOut)())})}},{key:"signIn",value:function(e){this._store.dispatch((0,i.signIn)(e)),this._local.set("auth",{isAuthenticated:!0,username:e.username})}},{key:"signOut",value:function(){this._store.dispatch((0,i.signOut)()),this._local.set("auth",{isAuthenticated:!1})}},{key:"softSignOut",value:function(){this._store.dispatch((0,i.signOut)(!0)),this._local.set("auth",{isAuthenticated:!1})}}]),e}();n["default"]=new o},{"../reducers/auth":42}],47:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Captcha=n.ReCaptcha=n.ReCaptchaComponent=n.QACaptcha=n.NoCaptcha=n.BaseCaptcha=void 0;var u=e("react"),l=a(u),c=e("../components/form-group"),f=a(c),d=n.BaseCaptcha=function(){function e(){o(this,e)}return s(e,[{key:"init",value:function(e,t,n,a){this._context=e,this._ajax=t,this._include=n,this._snackbar=a}}]),e}(),p=n.NoCaptcha=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"load",value:function(){return new Promise(function(e){e()})}},{key:"validator",value:function(){return null}},{key:"component",value:function(){return null}}]),t}(d),m=n.QACaptcha=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"load",value:function(){var e=this;return new Promise(function(t,n){e._ajax.get(e._context.get("CAPTCHA_API_URL")).then(function(n){e.question=n.question,e.helpText=n.help_text,t()},function(){e._snackbar.error(gettext("Failed to load CAPTCHA.")),n()})})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return l["default"].createElement(f["default"],{label:this.question,"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:this.helpText||null},l["default"].createElement("input",{type:"text",id:"id_captcha",className:"form-control","aria-describedby":"id_captcha_status",disabled:e.form.state.isLoading,onChange:e.form.bindInput("captcha"),value:e.form.state.captcha}))}}]),t}(d),h=n.ReCaptchaComponent=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"componentDidMount",value:function(){var e=this;grecaptcha.render("recaptcha",{sitekey:this.props.siteKey,callback:function(t){e.props.binding({target:{value:t}})}})}},{key:"render",value:function(){return l["default"].createElement("div",{id:"recaptcha"})}}]),t}(l["default"].Component),v=n.ReCaptcha=function(e){function t(){return o(this,t),r(this,Object.getPrototypeOf(t).apply(this,arguments))}return i(t,e),s(t,[{key:"load",value:function(){return this._include.include("https://www.google.com/recaptcha/api.js",!0),new Promise(function(e){var t=function n(){"undefined"==typeof grecaptcha?window.setTimeout(function(){n()},200):e()};t()})}},{key:"validator",value:function(){return[]}},{key:"component",value:function(e){return l["default"].createElement(f["default"],{label:gettext("Captcha"),"for":"id_captcha",labelClass:e.labelClass||"col-sm-4",controlClass:e.controlClass||"col-sm-8",validation:e.form.state.errors.captcha,helpText:gettext("Please solve the quick test.")},l["default"].createElement(h,{siteKey:this._context.get("SETTINGS").recaptcha_site_key,binding:e.form.bindInput("captcha")}))}}]),t}(d),b=n.Captcha=function(){function e(){o(this,e)}return s(e,[{key:"init",value:function(e,t,n,a){switch(e.get("SETTINGS").captcha_type){case"no":this._captcha=new p;break;case"qa":this._captcha=new m;break;case"re":this._captcha=new v}this._captcha.init(e,t,n,a)}},{key:"load",value:function(){return this._captcha.load()}},{key:"validator",value:function(){return this._captcha.validator()}},{key:"component",value:function(e){return this._captcha.component(e)}}]),e}();n["default"]=new b},{"../components/form-group":5,react:"react"}],48:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=n.Include=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){this._staticUrl=e,this._included=[]}},{key:"include",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?!1:arguments[1];-1===this._included.indexOf(e)&&(this._included.push(e),this._include(e,t))}},{key:"_include",value:function(e,t){$.ajax({url:(t?"":this._staticUrl)+e,cache:!0,dataType:"script"})}}]),e}();n["default"]=new i},{}],49:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=window.localStorage,o=n.LocalStorage=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){var t=this;this._prefix=e,this._watchers=[],window.addEventListener("storage",function(e){var n=JSON.parse(e.newValue);t._watchers.forEach(function(t){t.key===e.key&&e.oldValue!==e.newValue&&t.callback(n)})})}},{key:"set",value:function(e,t){i.setItem(this._prefix+e,JSON.stringify(t))}},{key:"get",value:function(e){var t=i.getItem(this._prefix+e);return t?JSON.parse(t):null}},{key:"watch",value:function(e,t){this._watchers.push({key:this._prefix+e,callback:t})}}]),e}();n["default"]=new o},{}],50:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.MobileNavbarDropdown=void 0;var o=e("../utils/mount-component"),s=a(o),u=n.MobileNavbarDropdown=function(){function e(){r(this,e)}return i(e,[{key:"init",value:function(e){this._element=e,this._component=null}},{key:"show",value:function(e){this._component===e?this.hide():(this._component=e,(0,s["default"])(e,this._element.id),$(this._element).addClass("open"))}},{key:"showConnected",value:function(e,t){this._component===e?this.hide():(this._component=e,(0,s["default"])(t,this._element.id,!0),$(this._element).addClass("open"))}},{key:"hide",value:function(){$(this._element).removeClass("open"),this._component=null}}]),e}();n["default"]=new u},{"../utils/mount-component":56}],51:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Modal=void 0;var o=e("react-dom"),s=a(o),u=e("../utils/mount-component"),l=a(u),c=n.Modal=function(){function e(){r(this,e)}return i(e,[{key:"init",value:function(e){var t=this;this._element=e,this._modal=$(e).modal({show:!1}),this._modal.on("hidden.bs.modal",function(){s["default"].unmountComponentAtNode(t._element)})}},{key:"show",value:function(e){(0,l["default"])(e,this._element.id),this._modal.modal("show")}},{key:"hide",value:function(){this._modal.modal("hide")}}]),e}();n["default"]=new c},{"../utils/mount-component":56,"react-dom":"react-dom"}],52:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.Snackbar=void 0;var i=e("../reducers/snackbar"),o=300,s=5e3,u=n.Snackbar=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){this._store=e,this._timeout=null}},{key:"alert",value:function(e,t){var n=this;this._timeout?(window.clearTimeout(this._timeout),this._store.dispatch((0,i.hideSnackbar)()),this._timeout=window.setTimeout(function(){n._timeout=null,n.alert(e,t)},o)):(this._store.dispatch((0,i.showSnackbar)(e,t)),this._timeout=window.setTimeout(function(){n._store.dispatch((0,i.hideSnackbar)()),n._timeout=null},s))}},{key:"info",value:function(e){this.alert(e,"info")}},{key:"success",value:function(e){this.alert(e,"success")}},{key:"warning",value:function(e){this.alert(e,"warning")}},{key:"error",value:function(e){this.alert(e,"error")}},{key:"apiError",value:function(e){var t=gettext("Unknown error has occured.");0===e.status&&(t=gettext("Lost connection with application.")),400===e.status&&e.detail&&(t=e.detail),403===e.status&&(t=e.detail,"Permission denied"===t&&(t=gettext("You don't have permission to perform this action."))),404===e.status&&(t=gettext("Action link is invalid.")),this.error(t)}}]),e}();n["default"]=new u},{"../reducers/snackbar":43}],53:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0}),n.StoreWrapper=void 0;var i=e("redux"),o=n.StoreWrapper=function(){function e(){a(this,e),this._store=null,this._reducers={},this._initialState={}}return r(e,[{key:"addReducer",value:function(e,t,n){this._reducers[e]=t,this._initialState[e]=n}},{key:"init",value:function(){this._store=(0,i.createStore)((0,i.combineReducers)(this._reducers),this._initialState)}},{key:"getStore",value:function(){return this._store}},{key:"getState",value:function(){return this._store.getState()}},{key:"dispatch",value:function(e){return this._store.dispatch(e)}}]),e}();n["default"]=new o},{redux:"redux"}],54:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=n.Zxcvbn=function(){function e(){a(this,e)}return r(e,[{key:"init",value:function(e){this._include=e}},{key:"scorePassword",value:function(e,t){return zxcvbn(e,t).score}},{key:"load",value:function(){return"undefined"==typeof zxcvbn?(this._include.include("misago/js/zxcvbn.js"),this._loadingPromise()):this._loadedPromise()}},{key:"_loadingPromise",value:function(){return new Promise(function(e){var t=function n(){"undefined"==typeof zxcvbn?window.setTimeout(function(){n()},200):e()};t()})}},{key:"_loadedPromise",value:function(){return new Promise(function(e){e()})}}]),e}();n["default"]=new i},{}],55:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=function(e,t){if(l["default"].render(s["default"].createElement(c.Provider,{store:v["default"].getStore()},s["default"].createElement(y,{message:e.message,expires:e.expires_on?(0,i["default"])(e.expires_on):null})),document.getElementById("page-mount")),"undefined"==typeof t||t){var n=m["default"].get("SETTINGS").forum_name;document.title=gettext("You are banned")+" | "+n,window.history.pushState({},"",m["default"].get("BANNED_URL"))}};var r=e("moment"),i=a(r),o=e("react"),s=a(o),u=e("react-dom"),l=a(u),c=e("react-redux"),f=e("../components/banned-page"),d=a(f),p=e("../index"),m=a(p),h=e("../services/store"),v=a(h),b=function(e){return e.tick},y=(0,c.connect)(b)(d["default"])},{"../components/banned-page":3,"../index":19,"../services/store":53,moment:"moment",react:"react","react-dom":"react-dom","react-redux":"react-redux"}],56:[function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{"default":e}}function r(e,t){var n=arguments.length<=2||void 0===arguments[2]?!0:arguments[2],a=document.getElementById(t);a&&(n?u["default"].render(o["default"].createElement(l.Provider,{store:f["default"].getStore()},o["default"].createElement(e,null)),a):u["default"].render(o["default"].createElement(e,null),a))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var i=e("react"),o=a(i),s=e("react-dom"),u=a(s),l=e("react-redux"),c=e("../services/store"),f=a(c)},{"../services/store":53,react:"react","react-dom":"react-dom","react-redux":"react-redux"}],57:[function(e,t,n){"use strict";function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function(){function e(e,t){for(var n=0;n<t.length;n++){var a=t[n];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),Object.defineProperty(e,a.key,a)}}return function(t,n,a){return n&&e(t.prototype,n),a&&e(t,a),t}}();Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(t){a(this,e),this.isOrdered=!1,this._items=t||[]}return r(e,[{key:"add",value:function(e,t,n){this._items.push({key:e,item:t,after:n?n.after||null:null,before:n?n.before||null:null})}},{key:"get",value:function(e,t){for(var n=0;n<this._items.length;n++)if(this._items[n].key===e)return this._items[n].item;return t}},{key:"has",value:function(e){return void 0!==this.get(e)}},{key:"values",value:function t(){for(var t=[],e=0;e<this._items.length;e++)t.push(this._items[e].item);return t}},{key:"order",value:function(e){return this.isOrdered||(this._items=this._order(this._items),this.isOrdered=!0),e||"undefined"==typeof e?this.values():this._items}},{key:"orderedValues",value:function(){return this.order(!0)}},{key:"_order",value:function(e){function t(e){var t=-1;-1===r.indexOf(e.key)&&(e.after?(t=r.indexOf(e.after),-1!==t&&(t+=1)):e.before&&(t=r.indexOf(e.before)),-1!==t&&(a.splice(t,0,e),r.splice(t,0,e.key)))}var n=[];e.forEach(function(e){n.push(e.key)});var a=[],r=[];e.forEach(function(e){e.after||e.before||(a.push(e),r.push(e.key))}),e.forEach(function(e){"_end"===e.before&&(a.push(e),r.push(e.key))});for(var i=200;i>0&&n.length!==r.length;)i-=1,e.forEach(t);return a}}]),e}();n["default"]=i},{}],58:[function(e,t,n){"use strict";function a(){return function(e){return 0===$.trim(e).length?gettext("This field is required."):void 0}}function r(e){return function(t){return f.test(t)?void 0:e||gettext("Enter a valid email address.")}}function i(e,t){return function(n){var a="",r=$.trim(n).length;return e>r?(a=t?t(e,r):ngettext("Ensure this value has at least %(limit_value)s character (it has %(show_value)s).","Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).",e),interpolate(a,{limit_value:e,show_value:r},!0)):void 0}}function o(e,t){return function(n){var a="",r=$.trim(n).length;return r>e?(a=t?t(e,r):ngettext("Ensure this value has at most %(limit_value)s character (it has %(show_value)s).","Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).",e),interpolate(a,{limit_value:e,show_value:r},!0)):void 0}}function s(e){var t=function(e){return ngettext("Username must be at least %(limit_value)s character long.","Username must be at least %(limit_value)s characters long.",e)};return this.minLength(e.username_length_min,t)}function u(e){var t=function(e){return ngettext("Username cannot be longer than %(limit_value)s character.","Username cannot be longer than %(limit_value)s characters.",e)};return this.maxLength(e.username_length_max,t)}function l(){return function(e){return d.test($.trim(e))?void 0:gettext("Username can only contain latin alphabet letters and digits.")}}function c(e){var t=function(e){return ngettext("Valid password must be at least %(limit_value)s character long.","Valid password must be at least %(limit_value)s characters long.",e)};return this.minLength(e.password_length_min,t)}Object.defineProperty(n,"__esModule",{value:!0}),n.required=a,n.email=r,n.minLength=i,n.maxLength=o,n.usernameMinLength=s,n.usernameMaxLength=u,n.usernameContent=l,n.passwordMinLength=c;var f=/^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})$/i,d=new RegExp("^[0-9a-z]+$","i")},{}]},{},[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]);
 //# sourceMappingURL=misago.js.map

+ 1 - 1
misago/static/misago/js/misago.js.map

@@ -1 +1 @@
-{"version":3,"sources":["misago.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","select","state","user","auth","signedIn","signedOut","_createClass","defineProperties","target","props","descriptor","defineProperty","key","protoProps","staticProps","_react","_react2","_class","_React$Component","this","getPrototypeOf","apply","arguments","window","location","reload","interpolate","gettext","username","createElement","className","getClassName","getMessage","type","onClick","refresh","Component","react",2,"BASE_URL","$","attr","size","url","id","avatar_hash","src","getSrc","title",3,"_moment","_moment2","message","html","dangerouslySetInnerHTML","__html","plain","expires","isAfter","expires_on","fromNow","getReasonMessage","getExpirationMessage","moment",4,"_loader","_loader2","Button","disabled","loading","children","defaultProps","./loader",5,"validation","isValidated","_this2","map","error","aria-hidden","helpText","labelClass","htmlFor","label","controlClass","getFeedbackIcon","getFeedbackDescription","getFeedback","getHelpText","extra",6,"_validators","validateRequired","required","_Object$getPrototypeO","_temp","_this","_ret","_len","args","Array","_key","concat","bindInput","name","event","newState","formErrors","errors","validateField","setState","handleSubmit","preventDefault","isLoading","clean","promise","send","then","success","handleSuccess","rejection","handleError","validators","optional","validatedFields","hasOwnProperty","push","fieldErrors","validate","field","requiredError","validationError","../utils/validators",7,8,"LABELS","STYLES","undefined","_zxcvbn","_zxcvbn2","_score","_password","_inputs","password","inputs","cacheStale","trim","scorePassword","score","getScore","style","width","role","aria-valuenow","aria-valuemin","aria-valuemax","../services/zxcvbn",9,"_register","_register2","_captcha","_captcha2","_modal","_modal2","_snackbar","_snackbar2","showRegisterModal","misago","get","account_activation","info","isLoaded","show","Promise","all","load","../services/captcha","../services/modal","../services/snackbar","./register.js",10,"_interopRequireWildcard","newObj","RegisterComplete","RegisterForm","_button","_button2","_form","_form2","_formGroup","_formGroup2","_passwordStrength","_passwordStrength2","_index","_index2","_ajax","_ajax2","_auth","_auth2","_bannedPage","_bannedPage2","_Form","email","captcha","usernameContent","usernameMinLength","usernameMaxLength","passwordMinLength","validator","isValid","post","apiResponse","callback","status","assign","ban","hide","apiError","href","data-dismiss","aria-label","onSubmit","display","for","aria-describedby","onChange","component","form","getLegalFootNote","activation","getLead","getSubscript","_React$Component2","_this3","completeRegistration","signIn","complete","../index","../services/ajax","../services/auth","../utils/banned-page","./button","./form","./form-group","./password-strength",11,"LinkSent","RequestLinkForm","indexOf","detail","placeholder","reset",12,"AccountInactivePage","RequestResetForm","_reactDom","_reactDom2","showInactivePage","getActivateButton","_React$Component3","_this4","render","document","getElementById","react-dom",13,"PasswordChangedPage","ResetPasswordForm","_signIn","_signIn2","showSignIn","softSignOut","./sign-in.js",14,"showActivation","append","find","val","getCsrfToken","pathname","submit","getActivationButton",15,"snackbar","Snackbar","TYPES_CLASSES","warning","snackbarClass","isVisible","getSnackbarClass",16,"CompactGuestNav","GuestNav","GuestMenu","_avatar","_avatar2","_registerButton","_registerButton2","_mobileNavbarDropdown","_mobileNavbarDropdown2","showSignInModal","_GuestMenu","showGuestMenu","../../services/mobile-navbar-dropdown","../../services/modal","../avatar","../register-button","../sign-in.js",17,"CompactUserMenu","UserMenu","_guestNav","_userNav","isAuthenticated","UserNav","CompactUserNav","./guest-nav","./user-nav",18,"selectUserMenu","store","_reactRedux","decision","confirm","absolute_url","logout","data-toggle","aria-haspopup","aria-expanded","showConnected","connect","showUserMenu","../../index","react-redux",19,"global","Misago","_orderedList","_orderedList2","_initializers","_context","initializer","item","after","before","context","initOrder","orderedValues","forEach","fallback","has","./utils/ordered-list",20,"init","addInitializer",21,"_mountComponent2","_authMessage","_authMessage2","_mountComponent","../components/auth-message","../utils/mount-component",22,"_store2","addReducer","isAnonymous","initialState","_store","../reducers/auth","../services/store",23,"_localStorage2","_localStorage","../services/local-storage",24,25,"_include2","_include","../services/include",26,27,28,"element","../services/mobile-navbar-dropdown",29,30,"locale",31,"_requestActivationLink2","_requestActivationLink","../components/request-activation-link",32,"_requestPasswordReset2","_requestPasswordReset","../components/request-password-reset",33,"_resetPasswordForm2","_resetPasswordForm","../components/reset-password-form",34,"../components/snackbar",35,"../reducers/snackbar",36,37,38,"_tick2","_tick","../reducers/tick",39,"setInterval","dispatch","doTick","TICK_PERIOD",40,"_root","../components/user-menu/root",41,42,"SIGN_IN","signOut","soft","SIGN_OUT","action",43,"showSnackbar","SHOW_SNACKBAR","messageType","hideSnackbar","HIDE_SNACKBAR",44,"TICK","tick",45,"Ajax","_cookieName","_csrfToken","cookieName","cookie","cookieRegex","RegExp","match","split","method","data","resolve","reject","xhr","headers","X-CSRFToken","dataType","jqXHR","responseJSON","statusText","ajax","request",46,"Auth","local","_local","syncSession","watchState","getState","set","watch",47,"Captcha","ReCaptcha","ReCaptchaComponent","QACaptcha","NoCaptcha","BaseCaptcha","include","_BaseCaptcha","_BaseCaptcha2","question","help_text","kwargs","grecaptcha","sitekey","siteKey","response","binding","_BaseCaptcha3","wait","setTimeout","recaptcha_site_key","captcha_type","../components/form-group",48,"Include","staticUrl","_staticUrl","_included","script","remote","cache",49,"storage","localStorage","LocalStorage","prefix","_prefix","_watchers","addEventListener","newValueJson","JSON","parse","newValue","watcher","oldValue","setItem","stringify","itemString","getItem",50,"MobileNavbarDropdown","_element","_component","addClass","removeClass",51,"Modal","modal","on","unmountComponentAtNode",52,"HIDE_ANIMATION_LENGTH","MESSAGE_SHOW_LENGTH","_timeout","clearTimeout","alert",53,"StoreWrapper","_redux","_reducers","_initialState","reducer","createStore","combineReducers","redux",54,"Zxcvbn","zxcvbn","_loadingPromise","_loadedPromise",55,"changeState","Provider","getStore","RedrawedBannedPage","forumName","forum_name","history","pushState","../components/banned-page",56,"mount","rootElementId","connected","rootElement",57,"OrderedList","items","isOrdered","_items","order","values","values_only","_order","unordered","insertItem","insertAt","ordering","ordered","splice","index","iterations",58,"EMAIL","test","minLength","limitValue","returnMessage","ngettext","limit_value","show_value","maxLength","settings","username_length_min","username_length_max","USERNAME","password_length_min"],"mappings":"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","file":"misago.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.select = select;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: \"refresh\",\n    value: function refresh() {\n      window.location.reload();\n    }\n  }, {\n    key: \"getMessage\",\n    value: function getMessage() {\n      if (this.props.signedIn) {\n        return interpolate(gettext(\"You have signed in as %(username)s. Please refresh the page before continuing.\"), { username: this.props.signedIn.username }, true);\n      } else if (this.props.signedOut) {\n        return interpolate(gettext(\"%(username)s, you have been signed out. Please refresh the page before continuing.\"), { username: this.props.user.username }, true);\n      }\n    }\n  }, {\n    key: \"getClassName\",\n    value: function getClassName() {\n      if (this.props.signedIn || this.props.signedOut) {\n        return \"auth-message show\";\n      } else {\n        return \"auth-message\";\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        \"div\",\n        { className: this.getClassName() },\n        _react2.default.createElement(\n          \"div\",\n          { className: \"container\" },\n          _react2.default.createElement(\n            \"p\",\n            { className: \"lead\" },\n            this.getMessage()\n          ),\n          _react2.default.createElement(\n            \"p\",\n            null,\n            _react2.default.createElement(\n              \"button\",\n              { type: \"button\", className: \"btn btn-default\",\n                onClick: this.refresh },\n              gettext(\"Reload page\")\n            ),\n            \" \",\n            _react2.default.createElement(\n              \"span\",\n              { className: \"hidden-xs hidden-sm text-muted\" },\n              gettext(\"or press F5 key.\")\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\nfunction select(state) {\n  return {\n    user: state.auth.user,\n    signedIn: state.auth.signedIn,\n    signedOut: state.auth.signedOut\n  };\n}\n\n},{\"react\":\"react\"}],2:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar BASE_URL = $('base').attr('href') + 'user-avatar/';\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: 'getSrc',\n    value: function getSrc() {\n      var size = this.props.size || 100; // jshint ignore:line\n      var url = BASE_URL;\n\n      if (this.props.user && this.props.user.id) {\n        // just avatar hash, size and user id\n        url += this.props.user.avatar_hash + '/' + size + '/' + this.props.user.id + '.png';\n      } else {\n        // just append avatar size to file to produce no-avatar placeholder\n        url += size + '.png';\n      }\n\n      return url;\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement('img', { src: this.getSrc(),\n        className: this.props.className || 'user-avatar',\n        title: gettext(\"User avatar\") });\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],3:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: 'getReasonMessage',\n    value: function getReasonMessage() {\n      /* jshint ignore:start */\n      if (this.props.message.html) {\n        return _react2.default.createElement('div', { className: 'lead',\n          dangerouslySetInnerHTML: { __html: this.props.message.html } });\n      } else {\n        return _react2.default.createElement(\n          'p',\n          { className: 'lead' },\n          this.props.message.plain\n        );\n      }\n      /* jshint ignore:end */\n    }\n  }, {\n    key: 'getExpirationMessage',\n    value: function getExpirationMessage() {\n      if (this.props.expires) {\n        if (this.props.expires.isAfter((0, _moment2.default)())) {\n          return interpolate(gettext(\"This ban expires %(expires_on)s.\"), { 'expires_on': this.props.expires.fromNow() }, true);\n        } else {\n          return gettext(\"This ban has expired.\");\n        }\n      } else {\n        return gettext(\"This ban is permanent.\");\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'page page-error page-error-banned' },\n        _react2.default.createElement(\n          'div',\n          { className: 'container' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-panel' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'highlight_off'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              this.getReasonMessage(),\n              _react2.default.createElement(\n                'p',\n                { className: 'message-footnote' },\n                this.getExpirationMessage()\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"moment\":\"moment\",\"react\":\"react\"}],4:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar Button = (function (_React$Component) {\n  _inherits(Button, _React$Component);\n\n  function Button() {\n    _classCallCheck(this, Button);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(Button).apply(this, arguments));\n  }\n\n  _createClass(Button, [{\n    key: 'render',\n    value: function render() {\n      var className = 'btn ' + this.props.className;\n      var disabled = this.props.disabled;\n\n      if (this.props.loading) {\n        className += ' btn-loading';\n        disabled = true;\n      }\n\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: this.props.onClick ? 'button' : 'submit',\n          className: className,\n          disabled: disabled,\n          onClick: this.props.onClick },\n        this.props.children,\n        this.props.loading ? _react2.default.createElement(_loader2.default, null) : null\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return Button;\n})(_react2.default.Component);\n\nexports.default = Button;\n\nButton.defaultProps = {\n  className: \"btn-default\",\n\n  type: \"submit\",\n\n  loading: false,\n  disabled: false,\n\n  onClick: null\n};\n\n},{\"./loader\":7,\"react\":\"react\"}],5:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: 'isValidated',\n    value: function isValidated() {\n      return typeof this.props.validation !== \"undefined\";\n    }\n  }, {\n    key: 'getClassName',\n    value: function getClassName() {\n      var className = 'form-group';\n      if (this.isValidated()) {\n        className += ' has-feedback';\n        if (this.props.validation === null) {\n          className += ' has-success';\n        } else {\n          className += ' has-error';\n        }\n      }\n      return className;\n    }\n  }, {\n    key: 'getFeedback',\n    value: function getFeedback() {\n      var _this2 = this;\n\n      if (this.props.validation) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'div',\n          { className: 'help-block errors' },\n          this.props.validation.map(function (error, i) {\n            return _react2.default.createElement(\n              'p',\n              { key: _this2.props.for + 'FeedbackItem' + i },\n              error\n            );\n          })\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'getFeedbackIcon',\n    value: function getFeedbackIcon() {\n      if (this.isValidated()) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'span',\n          { className: 'material-icon form-control-feedback',\n            'aria-hidden': 'true', key: this.props.for + 'FeedbackIcon' },\n          this.props.validation ? 'clear' : 'check'\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'getFeedbackDescription',\n    value: function getFeedbackDescription() {\n      if (this.isValidated()) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'span',\n          { id: this.props.for + '_status', className: 'sr-only' },\n          this.props.validation ? gettext('(error)') : gettext('(success)')\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'getHelpText',\n    value: function getHelpText() {\n      if (this.props.helpText) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'p',\n          { className: 'help-block' },\n          this.props.helpText\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: this.getClassName() },\n        _react2.default.createElement(\n          'label',\n          { className: 'control-label ' + (this.props.labelClass || ''),\n            htmlFor: this.props.for || '' },\n          this.props.label,\n          ':'\n        ),\n        _react2.default.createElement(\n          'div',\n          { className: this.props.controlClass || '' },\n          this.props.children,\n          this.getFeedbackIcon(),\n          this.getFeedbackDescription(),\n          this.getFeedback(),\n          this.getHelpText(),\n          this.props.extra || null\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],6:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _validators = require('../utils/validators');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar validateRequired = (0, _validators.required)();\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    var _Object$getPrototypeO;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, _class);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(_class)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.bindInput = function (name) {\n      return function (event) {\n        var newState = {};\n        newState[name] = event.target.value;\n\n        var formErrors = _this.state.errors || {};\n        formErrors[name] = _this.validateField(name, newState[name]);\n        newState.errors = formErrors;\n\n        _this.setState(newState);\n      };\n    }, _this.handleSubmit = function (event) {\n      // we don't reload page on submissions\n      event.preventDefault();\n      if (_this.state.isLoading) {\n        return;\n      }\n\n      if (_this.clean()) {\n        _this.setState({ 'isLoading': true });\n        var promise = _this.send();\n\n        if (promise) {\n          promise.then(function (success) {\n            _this.setState({ 'isLoading': false });\n            _this.handleSuccess(success);\n          }, function (rejection) {\n            _this.setState({ 'isLoading': false });\n            _this.handleError(rejection);\n          });\n        } else {\n          _this.setState({ 'isLoading': false });\n        }\n      }\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n\n  _createClass(_class, [{\n    key: 'validate',\n    value: function validate() {\n      var errors = {};\n\n      var validators = {\n        required: this.state.validators.required || this.state.validators,\n        optional: this.state.validators.optional || {}\n      };\n\n      var validatedFields = [];\n\n      // add required fields to validation\n      for (var name in validators.required) {\n        if (validators.required.hasOwnProperty(name) && validators.required[name]) {\n          validatedFields.push(name);\n        }\n      }\n\n      // add optional fields to validation\n      for (var name in validators.optional) {\n        if (validators.optional.hasOwnProperty(name) && validators.optional[name]) {\n          validatedFields.push(name);\n        }\n      }\n\n      // validate fields values\n      for (var i in validatedFields) {\n        var name = validatedFields[i];\n        var fieldErrors = this.validateField(name, this.state[name]);\n\n        if (fieldErrors === null) {\n          errors[name] = null;\n        } else if (fieldErrors) {\n          errors[name] = fieldErrors;\n        }\n      }\n\n      return errors;\n    }\n  }, {\n    key: 'isValid',\n    value: function isValid() {\n      var errors = this.validate();\n      for (var field in errors) {\n        if (errors.hasOwnProperty(field)) {\n          if (errors[field] !== null) {\n            return false;\n          }\n        }\n      }\n\n      return true;\n    }\n  }, {\n    key: 'validateField',\n    value: function validateField(name, value) {\n      var errors = [];\n\n      var validators = {\n        required: (this.state.validators.required || this.state.validators)[name],\n        optional: (this.state.validators.optional || {})[name]\n      };\n\n      var requiredError = validateRequired(value) || false;\n\n      if (validators.required) {\n        if (requiredError) {\n          errors = [requiredError];\n        } else {\n          for (var i in validators.required) {\n            var validationError = validators.required[i](value);\n            if (validationError) {\n              errors.push(validationError);\n            }\n          }\n        }\n\n        return errors.length ? errors : null;\n      } else if (requiredError === false && validators.optional) {\n        for (var i in validators.optional) {\n          var validationError = validators.optional[i](value);\n          if (validationError) {\n            errors.push(validationError);\n          }\n        }\n\n        return errors.length ? errors : null;\n      }\n\n      return false; // false === field wasn't validated\n    }\n\n    /* jshint ignore:start */\n\n  }, {\n    key: 'clean',\n    value: function clean() {\n      return true;\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return null;\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(success) {\n      return;\n    }\n  }, {\n    key: 'handleError',\n\n    /* jshint ignore:end */\n    value: function handleError(rejection) {\n      return;\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../utils/validators\":58,\"react\":\"react\"}],7:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: \"render\",\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        \"div\",\n        { className: \"loader-compact\" },\n        _react2.default.createElement(\"div\", { className: \"loader-spinning-wheel\" })\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],8:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.LABELS = exports.STYLES = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar STYLES = exports.STYLES = ['progress-bar-danger', 'progress-bar-warning', 'progress-bar-warning', 'progress-bar-primary', 'progress-bar-success'];\n\nvar LABELS = exports.LABELS = [gettext(\"Entered password is very weak.\"), gettext(\"Entered password is weak.\"), gettext(\"Entered password is average.\"), gettext(\"Entered password is strong.\"), gettext(\"Entered password is very strong.\")];\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this._score = 0;\n    _this._password = null;\n    _this._inputs = [];\n    return _this;\n  }\n\n  _createClass(_class, [{\n    key: 'getScore',\n    value: function getScore(password, inputs) {\n      var _this2 = this;\n\n      var cacheStale = false;\n\n      if (password.trim() !== this._password) {\n        cacheStale = true;\n      }\n\n      if (inputs.length !== this._inputs.length) {\n        cacheStale = true;\n      } else {\n        inputs.map(function (value, i) {\n          if (value.trim() !== _this2._inputs[i]) {\n            cacheStale = true;\n          }\n        });\n      }\n\n      if (cacheStale) {\n        this._score = _zxcvbn2.default.scorePassword(password, inputs);\n        this._password = password.trim();\n        this._inputs = inputs.map(function (value) {\n          return value.trim();\n        });\n      }\n\n      return this._score;\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      var score = this.getScore(this.props.password, this.props.inputs);\n\n      return _react2.default.createElement(\n        'div',\n        { className: 'help-block password-strength' },\n        _react2.default.createElement(\n          'div',\n          { className: 'progress' },\n          _react2.default.createElement(\n            'div',\n            { className: \"progress-bar \" + STYLES[score],\n              style: { width: 20 + 20 * score + '%' },\n              role: 'progress-bar',\n              'aria-valuenow': score,\n              'aria-valuemin': '0',\n              'aria-valuemax': '4' },\n            _react2.default.createElement(\n              'span',\n              { className: 'sr-only' },\n              LABELS[score]\n            )\n          )\n        ),\n        _react2.default.createElement(\n          'p',\n          { className: 'text-small' },\n          LABELS[score]\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/zxcvbn\":54,\"react\":\"react\"}],9:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _register = require('./register.js');\n\nvar _register2 = _interopRequireDefault(_register);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n// jshint ignore:line\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this.showRegisterModal = function () {\n      if (misago.get('SETTINGS').account_activation === 'closed') {\n        _snackbar2.default.info(gettext(\"New registrations are currently disabled.\"));\n      } else if (_this.state.isLoaded) {\n        _modal2.default.show(_register2.default);\n      } else {\n        _this.setState({\n          'isLoading': true\n        });\n\n        Promise.all([_captcha2.default.load(), _zxcvbn2.default.load()]).then(function () {\n          if (!_this.state.isLoaded) {\n            _this.setState({\n              'isLoading': false,\n              'isLoaded': false\n            });\n          }\n\n          _modal2.default.show(_register2.default);\n        });\n      }\n    };\n\n    _this.state = {\n      'isLoading': false,\n      'isLoaded': false\n    };\n    return _this;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'getClassName',\n\n    /* jshint ignore:end */\n\n    value: function getClassName() {\n      return this.props.className + (this.state.isLoading ? ' btn-loading' : '');\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: 'button', onClick: this.showRegisterModal,\n          className: 'btn ' + this.getClassName(),\n          disabled: this.state.isLoaded },\n        gettext(\"Register\"),\n        this.state.isLoading ? _react2.default.createElement(_loader2.default, null) : null\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/captcha\":47,\"../services/modal\":51,\"../services/snackbar\":52,\"../services/zxcvbn\":54,\"./loader\":7,\"./register.js\":10,\"react\":\"react\"}],10:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.RegisterComplete = exports.RegisterForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('./form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _passwordStrength = require('./password-strength');\n\nvar _passwordStrength2 = _interopRequireDefault(_passwordStrength);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\nvar RegisterForm = exports.RegisterForm = (function (_Form) {\n  _inherits(RegisterForm, _Form);\n\n  function RegisterForm(props) {\n    _classCallCheck(this, RegisterForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(RegisterForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'username': '',\n      'email': '',\n      'password': '',\n      'captcha': '',\n\n      'validators': {\n        'username': [validators.usernameContent(), validators.usernameMinLength(_index2.default.get('SETTINGS')), validators.usernameMaxLength(_index2.default.get('SETTINGS'))],\n        'email': [validators.email()],\n        'password': [validators.passwordMinLength(_index2.default.get('SETTINGS'))],\n        'captcha': _captcha2.default.validator()\n      },\n\n      'errors': {}\n    };\n    return _this;\n  }\n\n  _createClass(RegisterForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        _snackbar2.default.error(gettext(\"Form contains errors.\"));\n        this.setState({\n          'errors': this.validate()\n        });\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('USERS_API'), {\n        'username': this.state.username,\n        'email': this.state.email,\n        'password': this.state.password,\n        'captcha': this.state.captcha\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (rejection.status === 400) {\n        this.setState({\n          'errors': Object.assign({}, this.state.errors, rejection)\n        });\n        _snackbar2.default.error(gettext(\"Form contains errors.\"));\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n        _modal2.default.hide();\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'getLegalFootNote',\n    value: function getLegalFootNote() {\n      if (_index2.default.get('TERMS_OF_SERVICE_URL')) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'a',\n          { href: _index2.default.get('TERMS_OF_SERVICE_URL'),\n            target: '_blank' },\n          gettext(\"By registering you agree to site's terms and conditions.\")\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'modal-dialog modal-register', role: 'document' },\n        _react2.default.createElement(\n          'div',\n          { className: 'modal-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-header' },\n            _react2.default.createElement(\n              'button',\n              { type: 'button', className: 'close', 'data-dismiss': 'modal',\n                'aria-label': gettext(\"Close\") },\n              _react2.default.createElement(\n                'span',\n                { 'aria-hidden': 'true' },\n                '×'\n              )\n            ),\n            _react2.default.createElement(\n              'h4',\n              { className: 'modal-title' },\n              gettext(\"Register\")\n            )\n          ),\n          _react2.default.createElement(\n            'form',\n            { onSubmit: this.handleSubmit, className: 'form-horizontal' },\n            _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n            _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-body' },\n              _react2.default.createElement(\n                _formGroup2.default,\n                { label: gettext(\"Username\"), 'for': 'id_username',\n                  labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n                  validation: this.state.errors.username },\n                _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n                  'aria-describedby': 'id_username_status',\n                  disabled: this.state.isLoading,\n                  onChange: this.bindInput('username'),\n                  value: this.state.username })\n              ),\n              _react2.default.createElement(\n                _formGroup2.default,\n                { label: gettext(\"E-mail\"), 'for': 'id_email',\n                  labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n                  validation: this.state.errors.email },\n                _react2.default.createElement('input', { type: 'text', id: 'id_email', className: 'form-control',\n                  'aria-describedby': 'id_email_status',\n                  disabled: this.state.isLoading,\n                  onChange: this.bindInput('email'),\n                  value: this.state.email })\n              ),\n              _react2.default.createElement(\n                _formGroup2.default,\n                { label: gettext(\"Password\"), 'for': 'id_password',\n                  labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n                  validation: this.state.errors.password,\n                  extra: _react2.default.createElement(_passwordStrength2.default, { password: this.state.password,\n                    inputs: [this.state.username, this.state.email] }) },\n                _react2.default.createElement('input', { type: 'password', id: 'id_password', className: 'form-control',\n                  'aria-describedby': 'id_password_status',\n                  disabled: this.state.isLoading,\n                  onChange: this.bindInput('password'),\n                  value: this.state.password })\n              ),\n              _captcha2.default.component({\n                form: this,\n                labelClass: \"col-sm-4\",\n                controlClass: \"col-sm-8\"\n              })\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-footer' },\n              this.getLegalFootNote(),\n              _react2.default.createElement(\n                _button2.default,\n                { className: 'btn-primary', loading: this.state.isLoading },\n                gettext(\"Register account\")\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RegisterForm;\n})(_form2.default);\n\nvar RegisterComplete = exports.RegisterComplete = (function (_React$Component) {\n  _inherits(RegisterComplete, _React$Component);\n\n  function RegisterComplete() {\n    _classCallCheck(this, RegisterComplete);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(RegisterComplete).apply(this, arguments));\n  }\n\n  _createClass(RegisterComplete, [{\n    key: 'getLead',\n    value: function getLead() {\n      if (this.props.activation === 'user') {\n        return gettext(\"%(username)s, your account has been created but you need to activate it before you will be able to sign in.\");\n      } else if (this.props.activation === 'admin') {\n        return gettext(\"%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in.\");\n      }\n    }\n  }, {\n    key: 'getSubscript',\n    value: function getSubscript() {\n      if (this.props.activation === 'user') {\n        return gettext(\"We have sent an e-mail to %(email)s with link that you have to click to activate your account.\");\n      } else if (this.props.activation === 'admin') {\n        return gettext(\"We will send an e-mail to %(email)s when this takes place.\");\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'modal-dialog modal-message modal-register',\n          role: 'document' },\n        _react2.default.createElement(\n          'div',\n          { className: 'modal-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-header' },\n            _react2.default.createElement(\n              'button',\n              { type: 'button', className: 'close', 'data-dismiss': 'modal',\n                'aria-label': gettext(\"Close\") },\n              _react2.default.createElement(\n                'span',\n                { 'aria-hidden': 'true' },\n                '×'\n              )\n            ),\n            _react2.default.createElement(\n              'h4',\n              { className: 'modal-title' },\n              gettext(\"Registration complete\")\n            )\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-body' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'info_outline'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              _react2.default.createElement(\n                'p',\n                { className: 'lead' },\n                interpolate(this.getLead(), { 'username': this.props.username }, true)\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                interpolate(this.getSubscript(), { 'email': this.props.email }, true)\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RegisterComplete;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component2) {\n  _inherits(_class, _React$Component2);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this3 = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this3.completeRegistration = function (apiResponse) {\n      if (apiResponse.activation === 'active') {\n        _modal2.default.hide();\n        _auth2.default.signIn(apiResponse);\n      } else {\n        _this3.setState({\n          'complete': apiResponse\n        });\n      }\n    };\n\n    _this3.state = {\n      'complete': false\n    };\n    return _this3;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'render',\n\n    /* jshint ignore:end */\n\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.state.complete) {\n        return _react2.default.createElement(RegisterComplete, { activation: this.state.complete.activation,\n          username: this.state.complete.username,\n          email: this.state.complete.email });\n      } else {\n        return _react2.default.createElement(RegisterForm, { callback: this.completeRegistration });\n      }\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/auth\":46,\"../services/captcha\":47,\"../services/modal\":51,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"./form-group\":5,\"./password-strength\":8,\"react\":\"react\"}],11:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.LinkSent = exports.RequestLinkForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar RequestLinkForm = exports.RequestLinkForm = (function (_Form) {\n  _inherits(RequestLinkForm, _Form);\n\n  function RequestLinkForm(props) {\n    _classCallCheck(this, RequestLinkForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(RequestLinkForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'email': '',\n\n      'validators': {\n        'email': [validators.email()]\n      }\n    };\n    return _this;\n  }\n\n  _createClass(RequestLinkForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('SEND_ACTIVATION_API'), {\n        'email': this.state.email\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (['already_active', 'inactive_admin'].indexOf(rejection.code) > -1) {\n        _snackbar2.default.info(rejection.detail);\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-activation-link' },\n        _react2.default.createElement(\n          'form',\n          { onSubmit: this.handleSubmit },\n          _react2.default.createElement(\n            'div',\n            { className: 'form-group' },\n            _react2.default.createElement(\n              'div',\n              { className: 'control-input' },\n              _react2.default.createElement('input', { type: 'text', className: 'form-control',\n                placeholder: gettext(\"Your e-mail address\"),\n                disabled: this.state.isLoading,\n                onChange: this.bindInput('email'),\n                value: this.state.email })\n            )\n          ),\n          _react2.default.createElement(\n            _button2.default,\n            { className: 'btn-primary btn-block',\n              loading: this.state.isLoading },\n            gettext(\"Send link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RequestLinkForm;\n})(_form2.default);\n\nvar LinkSent = exports.LinkSent = (function (_React$Component) {\n  _inherits(LinkSent, _React$Component);\n\n  function LinkSent() {\n    _classCallCheck(this, LinkSent);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(LinkSent).apply(this, arguments));\n  }\n\n  _createClass(LinkSent, [{\n    key: 'getMessage',\n    value: function getMessage() {\n      return interpolate(gettext(\"Activation link was sent to %(email)s\"), {\n        email: this.props.user.email\n      }, true);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-activation-link well-done' },\n        _react2.default.createElement(\n          'div',\n          { className: 'done-message' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-icon' },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'check'\n            )\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'message-body' },\n            _react2.default.createElement(\n              'p',\n              null,\n              this.getMessage()\n            )\n          ),\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn btn-primary btn-block',\n              onClick: this.props.callback },\n            gettext(\"Request another link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return LinkSent;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component2) {\n  _inherits(_class, _React$Component2);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this3 = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this3.complete = function (apiResponse) {\n      _this3.setState({\n        complete: apiResponse\n      });\n    };\n\n    _this3.reset = function () {\n      _this3.setState({\n        complete: false\n      });\n    };\n\n    _this3.state = {\n      complete: false\n    };\n    return _this3;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'render',\n\n    /* jshint ignore:end */\n\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.state.complete) {\n        return _react2.default.createElement(LinkSent, { user: this.state.complete, callback: this.reset });\n      } else {\n        return _react2.default.createElement(RequestLinkForm, { callback: this.complete });\n      };\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"react\":\"react\"}],12:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AccountInactivePage = exports.LinkSent = exports.RequestResetForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\nvar RequestResetForm = exports.RequestResetForm = (function (_Form) {\n  _inherits(RequestResetForm, _Form);\n\n  function RequestResetForm(props) {\n    _classCallCheck(this, RequestResetForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(RequestResetForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'email': '',\n\n      'validators': {\n        'email': [validators.email()]\n      }\n    };\n    return _this;\n  }\n\n  _createClass(RequestResetForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('SEND_PASSWORD_RESET_API'), {\n        'email': this.state.email\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (['inactive_user', 'inactive_admin'].indexOf(rejection.code) > -1) {\n        this.props.showInactivePage(rejection);\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-password-reset' },\n        _react2.default.createElement(\n          'form',\n          { onSubmit: this.handleSubmit },\n          _react2.default.createElement(\n            'div',\n            { className: 'form-group' },\n            _react2.default.createElement(\n              'div',\n              { className: 'control-input' },\n              _react2.default.createElement('input', { type: 'text', className: 'form-control',\n                placeholder: gettext(\"Your e-mail address\"),\n                disabled: this.state.isLoading,\n                onChange: this.bindInput('email'),\n                value: this.state.email })\n            )\n          ),\n          _react2.default.createElement(\n            _button2.default,\n            { className: 'btn-primary btn-block',\n              loading: this.state.isLoading },\n            gettext(\"Send link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RequestResetForm;\n})(_form2.default);\n\nvar LinkSent = exports.LinkSent = (function (_React$Component) {\n  _inherits(LinkSent, _React$Component);\n\n  function LinkSent() {\n    _classCallCheck(this, LinkSent);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(LinkSent).apply(this, arguments));\n  }\n\n  _createClass(LinkSent, [{\n    key: 'getMessage',\n    value: function getMessage() {\n      return interpolate(gettext(\"Reset password link was sent to %(email)s\"), {\n        email: this.props.user.email\n      }, true);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-password-reset well-done' },\n        _react2.default.createElement(\n          'div',\n          { className: 'done-message' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-icon' },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'check'\n            )\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'message-body' },\n            _react2.default.createElement(\n              'p',\n              null,\n              this.getMessage()\n            )\n          ),\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn btn-primary btn-block',\n              onClick: this.props.callback },\n            gettext(\"Request another link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return LinkSent;\n})(_react2.default.Component);\n\nvar AccountInactivePage = exports.AccountInactivePage = (function (_React$Component2) {\n  _inherits(AccountInactivePage, _React$Component2);\n\n  function AccountInactivePage() {\n    _classCallCheck(this, AccountInactivePage);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(AccountInactivePage).apply(this, arguments));\n  }\n\n  _createClass(AccountInactivePage, [{\n    key: 'getActivateButton',\n    value: function getActivateButton() {\n      if (this.props.activation === 'inactive_user') {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'p',\n          null,\n          _react2.default.createElement(\n            'a',\n            { href: _index2.default.get('REQUEST_ACTIVATION_URL') },\n            gettext(\"Activate your account.\")\n          )\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'page page-message page-message-info page-forgotten-password-inactive' },\n        _react2.default.createElement(\n          'div',\n          { className: 'container' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-panel' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'info_outline'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              _react2.default.createElement(\n                'p',\n                { className: 'lead' },\n                gettext(\"Your account is inactive.\")\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                this.props.message\n              ),\n              this.getActivateButton()\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return AccountInactivePage;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component3) {\n  _inherits(_class, _React$Component3);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this4 = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this4.complete = function (apiResponse) {\n      _this4.setState({\n        complete: apiResponse\n      });\n    };\n\n    _this4.reset = function () {\n      _this4.setState({\n        complete: false\n      });\n    };\n\n    _this4.state = {\n      complete: false\n    };\n    return _this4;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'showInactivePage',\n    value: function showInactivePage(apiResponse) {\n      _reactDom2.default.render(_react2.default.createElement(AccountInactivePage, { activation: apiResponse.code,\n        message: apiResponse.detail }), document.getElementById('page-mount'));\n    }\n    /* jshint ignore:end */\n\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.state.complete) {\n        return _react2.default.createElement(LinkSent, { user: this.state.complete, callback: this.reset });\n      } else {\n        return _react2.default.createElement(RequestResetForm, { callback: this.complete,\n          showInactivePage: this.showInactivePage });\n      };\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"react\":\"react\",\"react-dom\":\"react-dom\"}],13:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PasswordChangedPage = exports.ResetPasswordForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _signIn = require('./sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\nvar ResetPasswordForm = exports.ResetPasswordForm = (function (_Form) {\n  _inherits(ResetPasswordForm, _Form);\n\n  function ResetPasswordForm(props) {\n    _classCallCheck(this, ResetPasswordForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ResetPasswordForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'password': '',\n\n      'validators': {\n        'password': [validators.passwordMinLength(_index2.default.get('SETTINGS'))]\n      }\n    };\n    return _this;\n  }\n\n  _createClass(ResetPasswordForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        if (this.state.password.trim().length) {\n          _snackbar2.default.error(this.state.errors.password[0]);\n        } else {\n          _snackbar2.default.error(gettext(\"Enter new password.\"));\n        }\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('CHANGE_PASSWORD_API'), {\n        'password': this.state.password\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-reset-password' },\n        _react2.default.createElement(\n          'form',\n          { onSubmit: this.handleSubmit },\n          _react2.default.createElement(\n            'div',\n            { className: 'form-group' },\n            _react2.default.createElement(\n              'div',\n              { className: 'control-input' },\n              _react2.default.createElement('input', { type: 'password', className: 'form-control',\n                placeholder: gettext(\"Enter new password\"),\n                disabled: this.state.isLoading,\n                onChange: this.bindInput('password'),\n                value: this.state.password })\n            )\n          ),\n          _react2.default.createElement(\n            _button2.default,\n            { className: 'btn-primary btn-block',\n              loading: this.state.isLoading },\n            gettext(\"Change password\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return ResetPasswordForm;\n})(_form2.default);\n\nvar PasswordChangedPage = exports.PasswordChangedPage = (function (_React$Component) {\n  _inherits(PasswordChangedPage, _React$Component);\n\n  function PasswordChangedPage() {\n    _classCallCheck(this, PasswordChangedPage);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(PasswordChangedPage).apply(this, arguments));\n  }\n\n  _createClass(PasswordChangedPage, [{\n    key: 'getMessage',\n    value: function getMessage() {\n      return interpolate(gettext(\"%(username)s, your password has been changed successfully.\"), {\n        username: this.props.user.username\n      }, true);\n    }\n  }, {\n    key: 'showSignIn',\n    value: function showSignIn() {\n      _modal2.default.show(_signIn2.default);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'page page-message page-message-success page-forgotten-password-changed' },\n        _react2.default.createElement(\n          'div',\n          { className: 'container' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-panel' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'check'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              _react2.default.createElement(\n                'p',\n                { className: 'lead' },\n                this.getMessage()\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                gettext(\"You will have to sign in using new password before continuing.\")\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                _react2.default.createElement(\n                  'button',\n                  { type: 'button', className: 'btn btn-primary', onClick: this.showSignIn },\n                  gettext(\"Sign in\")\n                )\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return PasswordChangedPage;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component2) {\n  _inherits(_class, _React$Component2);\n\n  function _class() {\n    var _Object$getPrototypeO;\n\n    var _temp, _this3, _ret;\n\n    _classCallCheck(this, _class);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this3 = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(_class)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this3), _this3.complete = function (apiResponse) {\n      _auth2.default.softSignOut();\n\n      _reactDom2.default.render(_react2.default.createElement(PasswordChangedPage, { user: apiResponse }), document.getElementById('page-mount'));\n    }, _temp), _possibleConstructorReturn(_this3, _ret);\n  }\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'render',\n\n    /* jshint ignore:end */\n\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(ResetPasswordForm, { callback: this.complete });\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/auth\":46,\"../services/modal\":51,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"./sign-in.js\":14,\"react\":\"react\",\"react-dom\":\"react-dom\"}],14:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar _class = (function (_Form) {\n  _inherits(_class, _Form);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n      'showActivation': false,\n\n      'username': '',\n      'password': '',\n\n      'validators': {\n        'username': [],\n        'password': []\n      }\n    };\n    return _this;\n  }\n\n  _createClass(_class, [{\n    key: 'clean',\n    value: function clean() {\n      if (!this.isValid()) {\n        _snackbar2.default.error(gettext(\"Fill out both fields.\"));\n        return false;\n      } else {\n        return true;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('AUTH_API'), {\n        'username': this.state.username,\n        'password': this.state.password\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess() {\n      var form = $('#hidden-login-form');\n\n      form.append('<input type=\"text\" name=\"username\" />');\n      form.append('<input type=\"password\" name=\"password\" />');\n\n      // fill out form with user credentials and submit it, this will tell\n      // Misago to redirect user back to right page, and will trigger browser's\n      // key ring feature\n      form.find('input[type=\"hidden\"]').val(_ajax2.default.getCsrfToken());\n      form.find('input[name=\"redirect_to\"]').val(window.location.pathname);\n      form.find('input[name=\"username\"]').val(this.state.username);\n      form.find('input[name=\"password\"]').val(this.state.password);\n      form.submit();\n\n      // keep form loading\n      this.setState({\n        'isLoading': true\n      });\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (rejection.status === 400) {\n        if (rejection.code === 'inactive_admin') {\n          _snackbar2.default.info(rejection.detail);\n        } else if (rejection.code === 'inactive_user') {\n          _snackbar2.default.info(rejection.detail);\n          this.setState({\n            'showActivation': true\n          });\n        } else if (rejection.code === 'banned') {\n          (0, _bannedPage2.default)(rejection.detail);\n          _modal2.default.hide();\n        } else {\n          _snackbar2.default.error(rejection.detail);\n        }\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n        _modal2.default.hide();\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'getActivationButton',\n    value: function getActivationButton() {\n      if (this.state.showActivation) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'a',\n          { href: _index2.default.get('REQUEST_ACTIVATION_URL'),\n            className: 'btn btn-success btn-block' },\n          gettext(\"Activate account\")\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'modal-dialog modal-sm modal-sign-in',\n          role: 'document' },\n        _react2.default.createElement(\n          'div',\n          { className: 'modal-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-header' },\n            _react2.default.createElement(\n              'button',\n              { type: 'button', className: 'close', 'data-dismiss': 'modal',\n                'aria-label': gettext(\"Close\") },\n              _react2.default.createElement(\n                'span',\n                { 'aria-hidden': 'true' },\n                '×'\n              )\n            ),\n            _react2.default.createElement(\n              'h4',\n              { className: 'modal-title' },\n              gettext(\"Sign in\")\n            )\n          ),\n          _react2.default.createElement(\n            'form',\n            { onSubmit: this.handleSubmit },\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-body' },\n              _react2.default.createElement(\n                'div',\n                { className: 'form-group' },\n                _react2.default.createElement(\n                  'div',\n                  { className: 'control-input' },\n                  _react2.default.createElement('input', { id: 'id_username', className: 'form-control', type: 'text',\n                    disabled: this.state.isLoading,\n                    placeholder: gettext(\"Username or e-mail\"),\n                    onChange: this.bindInput('username'),\n                    value: this.state.username })\n                )\n              ),\n              _react2.default.createElement(\n                'div',\n                { className: 'form-group' },\n                _react2.default.createElement(\n                  'div',\n                  { className: 'control-input' },\n                  _react2.default.createElement('input', { id: 'id_password', className: 'form-control', type: 'password',\n                    disabled: this.state.isLoading,\n                    placeholder: gettext(\"Password\"),\n                    onChange: this.bindInput('password'),\n                    value: this.state.password })\n                )\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-footer' },\n              this.getActivationButton(),\n              _react2.default.createElement(\n                _button2.default,\n                { className: 'btn-primary btn-block',\n                  loading: this.state.isLoading },\n                gettext(\"Sign in\")\n              ),\n              _react2.default.createElement(\n                'a',\n                { href: _index2.default.get('FORGOTTEN_PASSWORD_URL'),\n                  className: 'btn btn-default btn-block' },\n                gettext(\"Forgot password?\")\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_form2.default);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/modal\":51,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"./button\":4,\"./form\":6,\"react\":\"react\"}],15:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Snackbar = undefined;\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* jshint ignore:start */\nvar TYPES_CLASSES = {\n  'info': 'alert-info',\n  'success': 'alert-success',\n  'warning': 'alert-warning',\n  'error': 'alert-danger'\n};\n/* jshint ignore:end */\n\nvar Snackbar = exports.Snackbar = (function (_React$Component) {\n  _inherits(Snackbar, _React$Component);\n\n  function Snackbar() {\n    _classCallCheck(this, Snackbar);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(Snackbar).apply(this, arguments));\n  }\n\n  _createClass(Snackbar, [{\n    key: 'getSnackbarClass',\n    value: function getSnackbarClass() {\n      var snackbarClass = 'alerts-snackbar';\n      if (this.props.isVisible) {\n        snackbarClass += ' in';\n      } else {\n        snackbarClass += ' out';\n      }\n      return snackbarClass;\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: this.getSnackbarClass() },\n        _react2.default.createElement(\n          'p',\n          { className: 'alert ' + TYPES_CLASSES[this.props.type] },\n          this.props.message\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return Snackbar;\n})(_react2.default.Component);\n\nfunction select(state) {\n  return state.snackbar;\n}\n\n},{\"react\":\"react\"}],16:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CompactGuestNav = exports.GuestNav = exports.GuestMenu = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _registerButton = require('../register-button');\n\nvar _registerButton2 = _interopRequireDefault(_registerButton);\n\nvar _signIn = require('../sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar GuestMenu = exports.GuestMenu = (function (_React$Component) {\n  _inherits(GuestMenu, _React$Component);\n\n  function GuestMenu() {\n    _classCallCheck(this, GuestMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(GuestMenu).apply(this, arguments));\n  }\n\n  _createClass(GuestMenu, [{\n    key: 'showSignInModal',\n    value: function showSignInModal() {\n      _modal2.default.show(_signIn2.default);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'ul',\n        { className: 'dropdown-menu user-dropdown dropdown-menu-right',\n          role: 'menu' },\n        _react2.default.createElement(\n          'li',\n          { className: 'guest-preview' },\n          _react2.default.createElement(\n            'h4',\n            null,\n            gettext(\"You are browsing as guest.\")\n          ),\n          _react2.default.createElement(\n            'p',\n            null,\n            gettext('Sign in or register to start and participate in discussions.')\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'row' },\n            _react2.default.createElement(\n              'div',\n              { className: 'col-xs-6' },\n              _react2.default.createElement(\n                'button',\n                { type: 'button', className: 'btn btn-default btn-block',\n                  onClick: this.showSignInModal },\n                gettext(\"Sign in\")\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'col-xs-6' },\n              _react2.default.createElement(\n                _registerButton2.default,\n                { className: 'btn-primary btn-block' },\n                gettext(\"Register\")\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return GuestMenu;\n})(_react2.default.Component);\n\nvar GuestNav = exports.GuestNav = (function (_GuestMenu) {\n  _inherits(GuestNav, _GuestMenu);\n\n  function GuestNav() {\n    _classCallCheck(this, GuestNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(GuestNav).apply(this, arguments));\n  }\n\n  _createClass(GuestNav, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'nav nav-guest' },\n        _react2.default.createElement(\n          'button',\n          { type: 'button', className: 'btn navbar-btn btn-default',\n            onClick: this.showSignInModal },\n          gettext(\"Sign in\")\n        ),\n        _react2.default.createElement(\n          _registerButton2.default,\n          { className: 'navbar-btn btn-primary' },\n          gettext(\"Register\")\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return GuestNav;\n})(GuestMenu);\n\nvar CompactGuestNav = exports.CompactGuestNav = (function (_React$Component2) {\n  _inherits(CompactGuestNav, _React$Component2);\n\n  function CompactGuestNav() {\n    _classCallCheck(this, CompactGuestNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(CompactGuestNav).apply(this, arguments));\n  }\n\n  _createClass(CompactGuestNav, [{\n    key: 'showGuestMenu',\n    value: function showGuestMenu() {\n      _mobileNavbarDropdown2.default.show(GuestMenu);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: 'button', onClick: this.showGuestMenu },\n        _react2.default.createElement(_avatar2.default, { size: '64' })\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return CompactGuestNav;\n})(_react2.default.Component);\n\n},{\"../../services/mobile-navbar-dropdown\":50,\"../../services/modal\":51,\"../avatar\":2,\"../register-button\":9,\"../sign-in.js\":14,\"react\":\"react\"}],17:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CompactUserMenu = exports.UserMenu = undefined;\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _guestNav = require('./guest-nav');\n\nvar _userNav = require('./user-nav');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n// jshint ignore:line\n\nvar UserMenu = exports.UserMenu = (function (_React$Component) {\n  _inherits(UserMenu, _React$Component);\n\n  function UserMenu() {\n    _classCallCheck(this, UserMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(UserMenu).apply(this, arguments));\n  }\n\n  _createClass(UserMenu, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.props.isAuthenticated) {\n        return _react2.default.createElement(_userNav.UserNav, { user: this.props.user });\n      } else {\n        return _react2.default.createElement(_guestNav.GuestNav, null);\n      }\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return UserMenu;\n})(_react2.default.Component);\n\nvar CompactUserMenu = exports.CompactUserMenu = (function (_React$Component2) {\n  _inherits(CompactUserMenu, _React$Component2);\n\n  function CompactUserMenu() {\n    _classCallCheck(this, CompactUserMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(CompactUserMenu).apply(this, arguments));\n  }\n\n  _createClass(CompactUserMenu, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.props.isAuthenticated) {\n        return _react2.default.createElement(_userNav.CompactUserNav, { user: this.props.user });\n      } else {\n        return _react2.default.createElement(_guestNav.CompactGuestNav, null);\n      }\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return CompactUserMenu;\n})(_react2.default.Component);\n\nfunction select(state) {\n  return state.auth;\n}\n\n},{\"./guest-nav\":16,\"./user-nav\":18,\"react\":\"react\"}],18:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CompactUserNav = exports.UserNav = exports.UserMenu = undefined;\nexports.selectUserMenu = selectUserMenu;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar UserMenu = exports.UserMenu = (function (_React$Component) {\n  _inherits(UserMenu, _React$Component);\n\n  function UserMenu() {\n    _classCallCheck(this, UserMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(UserMenu).apply(this, arguments));\n  }\n\n  _createClass(UserMenu, [{\n    key: 'logout',\n    value: function logout() {\n      var decision = confirm(gettext(\"Are you sure you want to sign out?\"));\n      if (decision) {\n        $('#hidden-logout-form').submit();\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'ul',\n        { className: 'dropdown-menu user-dropdown dropdown-menu-right',\n          role: 'menu' },\n        _react2.default.createElement(\n          'li',\n          { className: 'dropdown-header' },\n          _react2.default.createElement(\n            'strong',\n            null,\n            this.props.user.username\n          )\n        ),\n        _react2.default.createElement('li', { className: 'divider' }),\n        _react2.default.createElement(\n          'li',\n          null,\n          _react2.default.createElement(\n            'a',\n            { href: this.props.user.absolute_url },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'account_circle'\n            ),\n            gettext(\"See your profile\")\n          )\n        ),\n        _react2.default.createElement(\n          'li',\n          null,\n          _react2.default.createElement(\n            'a',\n            { href: _index2.default.get('USERCP_URL') },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'done_all'\n            ),\n            gettext(\"Change options\")\n          )\n        ),\n        _react2.default.createElement(\n          'li',\n          null,\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn-link' },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'face'\n            ),\n            gettext(\"Change avatar\")\n          )\n        ),\n        _react2.default.createElement('li', { className: 'divider' }),\n        _react2.default.createElement(\n          'li',\n          { className: 'dropdown-footer' },\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn btn-default btn-block',\n              onClick: this.logout },\n            gettext(\"Log out\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return UserMenu;\n})(_react2.default.Component);\n\nvar UserNav = exports.UserNav = (function (_React$Component2) {\n  _inherits(UserNav, _React$Component2);\n\n  function UserNav() {\n    _classCallCheck(this, UserNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(UserNav).apply(this, arguments));\n  }\n\n  _createClass(UserNav, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'ul',\n        { className: 'ul nav navbar-nav nav-user' },\n        _react2.default.createElement(\n          'li',\n          { className: 'dropdown' },\n          _react2.default.createElement(\n            'a',\n            { href: this.props.user.absolute_url, className: 'dropdown-toggle',\n              'data-toggle': 'dropdown', 'aria-haspopup': 'true', 'aria-expanded': 'false',\n              role: 'button' },\n            _react2.default.createElement(_avatar2.default, { user: this.props.user, size: '64' })\n          ),\n          _react2.default.createElement(UserMenu, { user: this.props.user })\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return UserNav;\n})(_react2.default.Component);\n\nfunction selectUserMenu(store) {\n  return { user: store.auth.user };\n}\n\nvar CompactUserNav = exports.CompactUserNav = (function (_React$Component3) {\n  _inherits(CompactUserNav, _React$Component3);\n\n  function CompactUserNav() {\n    _classCallCheck(this, CompactUserNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(CompactUserNav).apply(this, arguments));\n  }\n\n  _createClass(CompactUserNav, [{\n    key: 'showUserMenu',\n    value: function showUserMenu() {\n      _mobileNavbarDropdown2.default.showConnected('user-menu', (0, _reactRedux.connect)(selectUserMenu)(UserMenu));\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: 'button', onClick: this.showUserMenu },\n        _react2.default.createElement(_avatar2.default, { user: this.props.user, size: '64' })\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return CompactUserNav;\n})(_react2.default.Component);\n\n},{\"../../index\":19,\"../../services/mobile-navbar-dropdown\":50,\"../avatar\":2,\"react\":\"react\",\"react-redux\":\"react-redux\"}],19:[function(require,module,exports){\n(function (global){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Misago = undefined;\n\nvar _orderedList = require('./utils/ordered-list');\n\nvar _orderedList2 = _interopRequireDefault(_orderedList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Misago = exports.Misago = (function () {\n  function Misago() {\n    _classCallCheck(this, Misago);\n\n    this._initializers = [];\n    this._context = {};\n  }\n\n  _createClass(Misago, [{\n    key: 'addInitializer',\n    value: function addInitializer(initializer) {\n      this._initializers.push({\n        key: initializer.name,\n\n        item: initializer.initializer,\n\n        after: initializer.after,\n        before: initializer.before\n      });\n    }\n  }, {\n    key: 'init',\n    value: function init(context) {\n      var _this = this;\n\n      this._context = context;\n\n      var initOrder = new _orderedList2.default(this._initializers).orderedValues();\n      initOrder.forEach(function (initializer) {\n        initializer(_this);\n      });\n    }\n\n    // context accessors\n\n  }, {\n    key: 'has',\n    value: function has(key) {\n      return this._context.hasOwnProperty(key);\n    }\n  }, {\n    key: 'get',\n    value: function get(key, fallback) {\n      if (this.has(key)) {\n        return this._context[key];\n      } else {\n        return fallback || undefined;\n      }\n    }\n  }]);\n\n  return Misago;\n})();\n\n// create  singleton\n\nvar misago = new Misago();\n\n// expose it globally\nglobal.misago = misago;\n\n// and export it for tests and stuff\nexports.default = misago;\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./utils/ordered-list\":57}],20:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _ajax2.default.init(_index2.default.get('CSRF_COOKIE_NAME'));\n}\n\n_index2.default.addInitializer({\n  name: 'ajax',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/ajax\":45}],21:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _authMessage = require('../components/auth-message');\n\nvar _authMessage2 = _interopRequireDefault(_authMessage);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_authMessage.select)(_authMessage2.default), 'auth-message-mount');\n}\n\n_index2.default.addInitializer({\n  name: 'component:auth-message',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/auth-message\":1,\"../index\":19,\"../utils/mount-component\":56,\"react-redux\":\"react-redux\"}],22:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../reducers/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  _store2.default.addReducer('auth', _auth2.default, Object.assign({\n    'isAuthenticated': context.get('isAuthenticated'),\n    'isAnonymous': !context.get('isAuthenticated'),\n\n    'user': context.get('user')\n  }, _auth.initialState));\n}\n\n_index2.default.addInitializer({\n  name: 'reducer:auth',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../reducers/auth\":42,\"../services/store\":53}],23:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _auth2.default.init(_store2.default, _localStorage2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'auth',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../services/auth\":46,\"../services/local-storage\":49,\"../services/store\":53}],24:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  if (context.get('BAN_MESSAGE')) {\n    (0, _bannedPage2.default)(context.get('BAN_MESSAGE'), false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:baned-page',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../utils/banned-page\":55}],25:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  _captcha2.default.init(context, _ajax2.default, _include2.default, _snackbar2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'captcha',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/captcha\":47,\"../services/include\":48,\"../services/snackbar\":52}],26:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  _include2.default.init(context.get('STATIC_URL'));\n}\n\n_index2.default.addInitializer({\n  name: 'include',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/include\":48}],27:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _localStorage2.default.init('misago_');\n}\n\n_index2.default.addInitializer({\n  name: 'local-storage',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/local-storage\":49}],28:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mobileNavbarDropdown = require('../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  var element = document.getElementById('mobile-navbar-dropdown-mount');\n  if (element) {\n    _mobileNavbarDropdown2.default.init(element);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'dropdown',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../services/mobile-navbar-dropdown\":50}],29:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  var element = document.getElementById('modal-mount');\n  if (element) {\n    _modal2.default.init(element);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'modal',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../services/modal\":51}],30:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _moment2.default.locale($('html').attr('lang'));\n}\n\n_index2.default.addInitializer({\n  name: 'moment',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"moment\":\"moment\"}],31:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestActivationLink = require('../components/request-activation-link');\n\nvar _requestActivationLink2 = _interopRequireDefault(_requestActivationLink);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  if (document.getElementById('request-activation-link-mount')) {\n    (0, _mountComponent2.default)(_requestActivationLink2.default, 'request-activation-link-mount', false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:request-activation-link',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/request-activation-link\":11,\"../index\":19,\"../utils/mount-component\":56}],32:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestPasswordReset = require('../components/request-password-reset');\n\nvar _requestPasswordReset2 = _interopRequireDefault(_requestPasswordReset);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  if (document.getElementById('request-password-reset-mount')) {\n    (0, _mountComponent2.default)(_requestPasswordReset2.default, 'request-password-reset-mount', false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:request-password-reset',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/request-password-reset\":12,\"../index\":19,\"../utils/mount-component\":56}],33:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _resetPasswordForm = require('../components/reset-password-form');\n\nvar _resetPasswordForm2 = _interopRequireDefault(_resetPasswordForm);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  if (document.getElementById('reset-password-form-mount')) {\n    (0, _mountComponent2.default)(_resetPasswordForm2.default, 'reset-password-form-mount', false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:reset-password-form',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/reset-password-form\":13,\"../index\":19,\"../utils/mount-component\":56}],34:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../components/snackbar');\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_snackbar.select)(_snackbar.Snackbar), 'snackbar-mount');\n}\n\n_index2.default.addInitializer({\n  name: 'component:snackbar',\n  initializer: initializer,\n  after: 'snackbar'\n});\n\n},{\"../components/snackbar\":15,\"../index\":19,\"../utils/mount-component\":56,\"react-redux\":\"react-redux\"}],35:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../reducers/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _store2.default.addReducer('snackbar', _snackbar2.default, _snackbar.initialState);\n}\n\n_index2.default.addInitializer({\n  name: 'reducer:snackbar',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../reducers/snackbar\":43,\"../services/store\":53}],36:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _snackbar2.default.init(_store2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'snackbar',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../services/snackbar\":52,\"../services/store\":53}],37:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _store2.default.init();\n}\n\n_index2.default.addInitializer({\n  name: 'store',\n  initializer: initializer,\n  before: '_end'\n});\n\n},{\"../index\":19,\"../services/store\":53}],38:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../reducers/tick');\n\nvar _tick2 = _interopRequireDefault(_tick);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _store2.default.addReducer('tick', _tick2.default, _tick.initialState);\n}\n\n_index2.default.addInitializer({\n  name: 'reducer:tick',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../reducers/tick\":44,\"../services/store\":53}],39:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../reducers/tick');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TICK_PERIOD = 50 * 1000; //do the tick every 50s\n\nfunction initializer() {\n  window.setInterval(function () {\n    _store2.default.dispatch((0, _tick.doTick)());\n  }, TICK_PERIOD);\n}\n\n_index2.default.addInitializer({\n  name: 'tick-start',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../reducers/tick\":44,\"../services/store\":53}],40:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _root = require('../components/user-menu/root');\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.UserMenu), 'user-menu-mount');\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.CompactUserMenu), 'user-menu-compact-mount');\n}\n\n_index2.default.addInitializer({\n  name: 'component:user-menu',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/user-menu/root\":17,\"../index\":19,\"../utils/mount-component\":56,\"react-redux\":\"react-redux\"}],41:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _zxcvbn2.default.init(_include2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'zxcvbn',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/include\":48,\"../services/zxcvbn\":54}],42:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.signIn = signIn;\nexports.signOut = signOut;\nexports.default = auth;\nvar initialState = exports.initialState = {\n  signedIn: false,\n  signedOut: false\n};\n\nvar SIGN_IN = exports.SIGN_IN = 'SIGN_IN';\nvar SIGN_OUT = exports.SIGN_OUT = 'SIGN_OUT';\n\nfunction signIn(user) {\n  return {\n    type: SIGN_IN,\n    user: user\n  };\n}\n\nfunction signOut() {\n  var soft = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];\n\n  return {\n    type: SIGN_OUT,\n    soft: soft\n  };\n}\n\nfunction auth() {\n  var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n  var action = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n  switch (action.type) {\n    case SIGN_IN:\n      return Object.assign({}, state, {\n        signedIn: action.user\n      });\n\n    case SIGN_OUT:\n      return Object.assign({}, state, {\n        isAuthenticated: false,\n        isAnonymous: true,\n        signedOut: !action.soft\n      });\n\n    default:\n      return state;\n  }\n}\n\n},{}],43:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.showSnackbar = showSnackbar;\nexports.hideSnackbar = hideSnackbar;\nexports.default = snackbar;\nvar initialState = exports.initialState = {\n  type: 'info',\n  message: '',\n  isVisible: false\n};\n\nvar SHOW_SNACKBAR = exports.SHOW_SNACKBAR = 'SHOW_SNACKBAR';\nvar HIDE_SNACKBAR = exports.HIDE_SNACKBAR = 'HIDE_SNACKBAR';\n\nfunction showSnackbar(message, type) {\n  return {\n    type: SHOW_SNACKBAR,\n    message: message,\n    messageType: type\n  };\n}\n\nfunction hideSnackbar() {\n  return {\n    type: HIDE_SNACKBAR\n  };\n}\n\nfunction snackbar() {\n  var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n  var action = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n  if (action.type === SHOW_SNACKBAR) {\n    return {\n      type: action.messageType,\n      message: action.message,\n      isVisible: true\n    };\n  } else if (action.type === HIDE_SNACKBAR) {\n    return Object.assign({}, state, {\n      isVisible: false\n    });\n  } else {\n    return state;\n  }\n}\n\n},{}],44:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.doTick = doTick;\nexports.default = tick;\nvar initialState = exports.initialState = {\n  tick: 0\n};\n\nvar TICK = exports.TICK = 'TICK';\n\nfunction doTick() {\n  return {\n    type: TICK\n  };\n}\n\nfunction tick() {\n  var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n  var action = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n  if (action.type === TICK) {\n    return Object.assign({}, state, {\n      tick: state.tick + 1\n    });\n  } else {\n    return state;\n  }\n}\n\n},{}],45:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Ajax = exports.Ajax = (function () {\n  function Ajax() {\n    _classCallCheck(this, Ajax);\n\n    this._cookieName = null;\n    this._csrfToken = null;\n  }\n\n  _createClass(Ajax, [{\n    key: 'init',\n    value: function init(cookieName) {\n      this._cookieName = cookieName;\n      this._csrfToken = this.getCsrfToken();\n    }\n  }, {\n    key: 'getCsrfToken',\n    value: function getCsrfToken() {\n      if (document.cookie.indexOf(this._cookieName) !== -1) {\n        var cookieRegex = new RegExp(this._cookieName + '\\=([^;]*)');\n        var cookie = document.cookie.match(cookieRegex)[0];\n        return cookie ? cookie.split('=')[1] : null;\n      } else {\n        return null;\n      }\n    }\n  }, {\n    key: 'request',\n    value: function request(method, url, data) {\n      var self = this;\n      return new Promise(function (resolve, reject) {\n        var xhr = {\n          url: url,\n          method: method,\n          headers: {\n            'X-CSRFToken': self._csrfToken\n          },\n\n          data: data || {},\n          dataType: 'json',\n\n          success: function success(data) {\n            resolve(data);\n          },\n\n          error: function error(jqXHR) {\n            var rejection = jqXHR.responseJSON || {};\n\n            rejection.status = jqXHR.status;\n            rejection.statusText = jqXHR.statusText;\n\n            reject(rejection);\n          }\n        };\n\n        $.ajax(xhr);\n      });\n    }\n  }, {\n    key: 'get',\n    value: function get(url) {\n      return this.request('GET', url);\n    }\n  }, {\n    key: 'post',\n    value: function post(url, data) {\n      return this.request('POST', url, data);\n    }\n  }, {\n    key: 'patch',\n    value: function patch(url, data) {\n      return this.request('PATCH', url, data);\n    }\n  }, {\n    key: 'put',\n    value: function put(url, data) {\n      return this.request('PUT', url, data);\n    }\n  }, {\n    key: 'delete',\n    value: function _delete(url) {\n      return this.request('DELETE', url);\n    }\n  }]);\n\n  return Ajax;\n})();\n\nexports.default = new Ajax();\n\n},{}],46:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Auth = undefined;\n\nvar _auth = require('../reducers/auth');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar Auth = exports.Auth = (function () {\n  function Auth() {\n    _classCallCheck(this, Auth);\n  }\n\n  _createClass(Auth, [{\n    key: 'init',\n    value: function init(store, local) {\n      this._store = store;\n      this._local = local;\n\n      // tell other tabs what auth state is because we are most current with it\n      this.syncSession();\n\n      // listen for other tabs to tell us that state changed\n      this.watchState();\n    }\n  }, {\n    key: 'syncSession',\n    value: function syncSession() {\n      var state = this._store.getState().auth;\n      if (state.isAuthenticated) {\n        this._local.set('auth', {\n          isAuthenticated: true,\n          username: state.user.username\n        });\n      } else {\n        this._local.set('auth', {\n          isAuthenticated: false\n        });\n      }\n    }\n  }, {\n    key: 'watchState',\n    value: function watchState() {\n      var _this = this;\n\n      this._local.watch('auth', function (newState) {\n        if (newState.isAuthenticated) {\n          _this._store.dispatch((0, _auth.signIn)({\n            username: newState.username\n          }));\n        } else {\n          _this._store.dispatch((0, _auth.signOut)());\n        }\n      });\n    }\n  }, {\n    key: 'signIn',\n    value: function signIn(user) {\n      this._store.dispatch((0, _auth.signIn)(user));\n      this._local.set('auth', {\n        isAuthenticated: true,\n        username: user.username\n      });\n    }\n  }, {\n    key: 'signOut',\n    value: function signOut() {\n      this._store.dispatch((0, _auth.signOut)());\n      this._local.set('auth', {\n        isAuthenticated: false\n      });\n    }\n  }, {\n    key: 'softSignOut',\n    value: function softSignOut() {\n      this._store.dispatch((0, _auth.signOut)(true));\n      this._local.set('auth', {\n        isAuthenticated: false\n      });\n    }\n  }]);\n\n  return Auth;\n})();\n\nexports.default = new Auth();\n\n},{\"../reducers/auth\":42}],47:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); /* global grecaptcha */\n// jshint ignore:line\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Captcha = exports.ReCaptcha = exports.ReCaptchaComponent = exports.QACaptcha = exports.NoCaptcha = exports.BaseCaptcha = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _formGroup = require('../components/form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar BaseCaptcha = exports.BaseCaptcha = (function () {\n  function BaseCaptcha() {\n    _classCallCheck(this, BaseCaptcha);\n  }\n\n  _createClass(BaseCaptcha, [{\n    key: 'init',\n    value: function init(context, ajax, include, snackbar) {\n      this._context = context;\n      this._ajax = ajax;\n      this._include = include;\n      this._snackbar = snackbar;\n    }\n  }]);\n\n  return BaseCaptcha;\n})();\n\nvar NoCaptcha = exports.NoCaptcha = (function (_BaseCaptcha) {\n  _inherits(NoCaptcha, _BaseCaptcha);\n\n  function NoCaptcha() {\n    _classCallCheck(this, NoCaptcha);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(NoCaptcha).apply(this, arguments));\n  }\n\n  _createClass(NoCaptcha, [{\n    key: 'load',\n    value: function load() {\n      return new Promise(function (resolve) {\n        // immediately resolve as we don't have anything to validate\n        resolve();\n      });\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return null;\n    }\n  }, {\n    key: 'component',\n    value: function component() {\n      return null;\n    }\n  }]);\n\n  return NoCaptcha;\n})(BaseCaptcha);\n\nvar QACaptcha = exports.QACaptcha = (function (_BaseCaptcha2) {\n  _inherits(QACaptcha, _BaseCaptcha2);\n\n  function QACaptcha() {\n    _classCallCheck(this, QACaptcha);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(QACaptcha).apply(this, arguments));\n  }\n\n  _createClass(QACaptcha, [{\n    key: 'load',\n    value: function load() {\n      var self = this;\n      return new Promise(function (resolve, reject) {\n        self._ajax.get(self._context.get('CAPTCHA_API_URL')).then(function (data) {\n          self.question = data.question;\n          self.helpText = data.help_text;\n          resolve();\n        }, function () {\n          self._snackbar.error(gettext(\"Failed to load CAPTCHA.\"));\n          reject();\n        });\n      });\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return [];\n    }\n\n    /* jshint ignore:start */\n\n  }, {\n    key: 'component',\n    value: function component(kwargs) {\n      return _react2.default.createElement(\n        _formGroup2.default,\n        { label: this.question, 'for': 'id_captcha',\n          labelClass: kwargs.labelClass || \"col-sm-4\",\n          controlClass: kwargs.controlClass || \"col-sm-8\",\n          validation: kwargs.form.state.errors.captcha,\n          helpText: this.helpText || null },\n        _react2.default.createElement('input', { type: 'text', id: 'id_captcha', className: 'form-control',\n          'aria-describedby': 'id_captcha_status',\n          disabled: kwargs.form.state.isLoading,\n          onChange: kwargs.form.bindInput('captcha'),\n          value: kwargs.form.state.captcha })\n      );\n    }\n    /* jshint ignore:end */\n\n  }]);\n\n  return QACaptcha;\n})(BaseCaptcha);\n\nvar ReCaptchaComponent = exports.ReCaptchaComponent = (function (_React$Component) {\n  _inherits(ReCaptchaComponent, _React$Component);\n\n  function ReCaptchaComponent() {\n    _classCallCheck(this, ReCaptchaComponent);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(ReCaptchaComponent).apply(this, arguments));\n  }\n\n  _createClass(ReCaptchaComponent, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      var _this4 = this;\n\n      grecaptcha.render('recaptcha', {\n        'sitekey': this.props.siteKey,\n        'callback': function callback(response) {\n          // fire fakey event to binding\n          _this4.props.binding({\n            target: {\n              value: response\n            }\n          });\n        }\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement('div', { id: 'recaptcha' });\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return ReCaptchaComponent;\n})(_react2.default.Component);\n\nvar ReCaptcha = exports.ReCaptcha = (function (_BaseCaptcha3) {\n  _inherits(ReCaptcha, _BaseCaptcha3);\n\n  function ReCaptcha() {\n    _classCallCheck(this, ReCaptcha);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(ReCaptcha).apply(this, arguments));\n  }\n\n  _createClass(ReCaptcha, [{\n    key: 'load',\n    value: function load() {\n      this._include.include('https://www.google.com/recaptcha/api.js', true);\n\n      return new Promise(function (resolve) {\n        var wait = function wait() {\n          if (typeof grecaptcha === \"undefined\") {\n            window.setTimeout(function () {\n              wait();\n            }, 200);\n          } else {\n            resolve();\n          }\n        };\n        wait();\n      });\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return [];\n    }\n\n    /* jshint ignore:start */\n\n  }, {\n    key: 'component',\n    value: function component(kwargs) {\n      return _react2.default.createElement(\n        _formGroup2.default,\n        { label: gettext(\"Captcha\"), 'for': 'id_captcha',\n          labelClass: kwargs.labelClass || \"col-sm-4\",\n          controlClass: kwargs.controlClass || \"col-sm-8\",\n          validation: kwargs.form.state.errors.captcha,\n          helpText: gettext(\"Please solve the quick test.\") },\n        _react2.default.createElement(ReCaptchaComponent, { siteKey: this._context.get('SETTINGS').recaptcha_site_key,\n          binding: kwargs.form.bindInput('captcha') })\n      );\n    }\n    /* jshint ignore:end */\n\n  }]);\n\n  return ReCaptcha;\n})(BaseCaptcha);\n\nvar Captcha = exports.Captcha = (function () {\n  function Captcha() {\n    _classCallCheck(this, Captcha);\n  }\n\n  _createClass(Captcha, [{\n    key: 'init',\n    value: function init(context, ajax, include, snackbar) {\n      switch (context.get('SETTINGS').captcha_type) {\n        case 'no':\n          this._captcha = new NoCaptcha();\n          break;\n\n        case 'qa':\n          this._captcha = new QACaptcha();\n          break;\n\n        case 're':\n          this._captcha = new ReCaptcha();\n          break;\n      }\n\n      this._captcha.init(context, ajax, include, snackbar);\n    }\n\n    // accessors for underlying strategy\n\n  }, {\n    key: 'load',\n    value: function load() {\n      return this._captcha.load();\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return this._captcha.validator();\n    }\n  }, {\n    key: 'component',\n    value: function component(kwargs) {\n      return this._captcha.component(kwargs);\n    }\n  }]);\n\n  return Captcha;\n})();\n\nexports.default = new Captcha();\n\n},{\"../components/form-group\":5,\"react\":\"react\"}],48:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Include = exports.Include = (function () {\n  function Include() {\n    _classCallCheck(this, Include);\n  }\n\n  _createClass(Include, [{\n    key: 'init',\n    value: function init(staticUrl) {\n      this._staticUrl = staticUrl;\n      this._included = [];\n    }\n  }, {\n    key: 'include',\n    value: function include(script) {\n      var remote = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n\n      if (this._included.indexOf(script) === -1) {\n        this._included.push(script);\n        this._include(script, remote);\n      }\n    }\n  }, {\n    key: '_include',\n    value: function _include(script, remote) {\n      $.ajax({\n        url: (!remote ? this._staticUrl : '') + script,\n        cache: true,\n        dataType: 'script'\n      });\n    }\n  }]);\n\n  return Include;\n})();\n\nexports.default = new Include();\n\n},{}],49:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar storage = window.localStorage;\n\nvar LocalStorage = exports.LocalStorage = (function () {\n  function LocalStorage() {\n    _classCallCheck(this, LocalStorage);\n  }\n\n  _createClass(LocalStorage, [{\n    key: 'init',\n    value: function init(prefix) {\n      var _this = this;\n\n      this._prefix = prefix;\n      this._watchers = [];\n\n      window.addEventListener('storage', function (e) {\n        var newValueJson = JSON.parse(e.newValue);\n        _this._watchers.forEach(function (watcher) {\n          if (watcher.key === e.key && e.oldValue !== e.newValue) {\n            watcher.callback(newValueJson);\n          }\n        });\n      });\n    }\n  }, {\n    key: 'set',\n    value: function set(key, value) {\n      storage.setItem(this._prefix + key, JSON.stringify(value));\n    }\n  }, {\n    key: 'get',\n    value: function get(key) {\n      var itemString = storage.getItem(this._prefix + key);\n      if (itemString) {\n        return JSON.parse(itemString);\n      } else {\n        return null;\n      }\n    }\n  }, {\n    key: 'watch',\n    value: function watch(key, callback) {\n      this._watchers.push({\n        key: this._prefix + key,\n        callback: callback\n      });\n    }\n  }]);\n\n  return LocalStorage;\n})();\n\nexports.default = new LocalStorage();\n\n},{}],50:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.MobileNavbarDropdown = undefined;\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MobileNavbarDropdown = exports.MobileNavbarDropdown = (function () {\n  function MobileNavbarDropdown() {\n    _classCallCheck(this, MobileNavbarDropdown);\n  }\n\n  _createClass(MobileNavbarDropdown, [{\n    key: 'init',\n    value: function init(element) {\n      this._element = element;\n      this._component = null;\n    }\n  }, {\n    key: 'show',\n    value: function show(component) {\n      if (this._component === component) {\n        this.hide();\n      } else {\n        this._component = component;\n        (0, _mountComponent2.default)(component, this._element.id);\n        $(this._element).addClass('open');\n      }\n    }\n  }, {\n    key: 'showConnected',\n    value: function showConnected(name, component) {\n      if (this._component === name) {\n        this.hide();\n      } else {\n        this._component = name;\n        (0, _mountComponent2.default)(component, this._element.id, true);\n        $(this._element).addClass('open');\n      }\n    }\n  }, {\n    key: 'hide',\n    value: function hide() {\n      $(this._element).removeClass('open');\n      this._component = null;\n    }\n  }]);\n\n  return MobileNavbarDropdown;\n})();\n\nexports.default = new MobileNavbarDropdown();\n\n},{\"../utils/mount-component\":56}],51:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Modal = undefined;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Modal = exports.Modal = (function () {\n  function Modal() {\n    _classCallCheck(this, Modal);\n  }\n\n  _createClass(Modal, [{\n    key: 'init',\n    value: function init(element) {\n      var _this = this;\n\n      this._element = element;\n\n      this._modal = $(element).modal({ show: false });\n\n      this._modal.on('hidden.bs.modal', function () {\n        _reactDom2.default.unmountComponentAtNode(_this._element);\n      });\n    }\n  }, {\n    key: 'show',\n    value: function show(component) {\n      (0, _mountComponent2.default)(component, this._element.id);\n      this._modal.modal('show');\n    }\n  }, {\n    key: 'hide',\n    value: function hide() {\n      this._modal.modal('hide');\n    }\n  }]);\n\n  return Modal;\n})();\n\nexports.default = new Modal();\n\n},{\"../utils/mount-component\":56,\"react-dom\":\"react-dom\"}],52:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Snackbar = undefined;\n\nvar _snackbar = require('../reducers/snackbar');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar HIDE_ANIMATION_LENGTH = 300;\nvar MESSAGE_SHOW_LENGTH = 5000;\n\nvar Snackbar = exports.Snackbar = (function () {\n  function Snackbar() {\n    _classCallCheck(this, Snackbar);\n  }\n\n  _createClass(Snackbar, [{\n    key: 'init',\n    value: function init(store) {\n      this._store = store;\n      this._timeout = null;\n    }\n  }, {\n    key: 'alert',\n    value: function alert(message, type) {\n      var _this = this;\n\n      if (this._timeout) {\n        window.clearTimeout(this._timeout);\n        this._store.dispatch((0, _snackbar.hideSnackbar)());\n\n        this._timeout = window.setTimeout(function () {\n          _this._timeout = null;\n          _this.alert(message, type);\n        }, HIDE_ANIMATION_LENGTH);\n      } else {\n        this._store.dispatch((0, _snackbar.showSnackbar)(message, type));\n        this._timeout = window.setTimeout(function () {\n          _this._store.dispatch((0, _snackbar.hideSnackbar)());\n          _this._timeout = null;\n        }, MESSAGE_SHOW_LENGTH);\n      }\n    }\n\n    // shorthands for message types\n\n  }, {\n    key: 'info',\n    value: function info(message) {\n      this.alert(message, 'info');\n    }\n  }, {\n    key: 'success',\n    value: function success(message) {\n      this.alert(message, 'success');\n    }\n  }, {\n    key: 'warning',\n    value: function warning(message) {\n      this.alert(message, 'warning');\n    }\n  }, {\n    key: 'error',\n    value: function error(message) {\n      this.alert(message, 'error');\n    }\n\n    // shorthand for api errors\n\n  }, {\n    key: 'apiError',\n    value: function apiError(rejection) {\n      var message = gettext(\"Unknown error has occured.\");\n\n      if (rejection.status === 0) {\n        message = gettext(\"Lost connection with application.\");\n      }\n\n      if (rejection.status === 400 && rejection.detail) {\n        message = rejection.detail;\n      }\n\n      if (rejection.status === 403) {\n        message = rejection.detail;\n        if (message === \"Permission denied\") {\n          message = gettext(\"You don't have permission to perform this action.\");\n        }\n      }\n\n      if (rejection.status === 404) {\n        message = gettext(\"Action link is invalid.\");\n      }\n\n      this.error(message);\n    }\n  }]);\n\n  return Snackbar;\n})();\n\nexports.default = new Snackbar();\n\n},{\"../reducers/snackbar\":43}],53:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.StoreWrapper = undefined;\n\nvar _redux = require('redux');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StoreWrapper = exports.StoreWrapper = (function () {\n  function StoreWrapper() {\n    _classCallCheck(this, StoreWrapper);\n\n    this._store = null;\n    this._reducers = {};\n    this._initialState = {};\n  }\n\n  _createClass(StoreWrapper, [{\n    key: 'addReducer',\n    value: function addReducer(name, reducer, initialState) {\n      this._reducers[name] = reducer;\n      this._initialState[name] = initialState;\n    }\n  }, {\n    key: 'init',\n    value: function init() {\n      this._store = (0, _redux.createStore)((0, _redux.combineReducers)(this._reducers), this._initialState);\n    }\n  }, {\n    key: 'getStore',\n    value: function getStore() {\n      return this._store;\n    }\n\n    // Store API\n\n  }, {\n    key: 'getState',\n    value: function getState() {\n      return this._store.getState();\n    }\n  }, {\n    key: 'dispatch',\n    value: function dispatch(action) {\n      return this._store.dispatch(action);\n    }\n  }]);\n\n  return StoreWrapper;\n})();\n\nexports.default = new StoreWrapper();\n\n},{\"redux\":\"redux\"}],54:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* global zxcvbn */\n\nvar Zxcvbn = exports.Zxcvbn = (function () {\n  function Zxcvbn() {\n    _classCallCheck(this, Zxcvbn);\n  }\n\n  _createClass(Zxcvbn, [{\n    key: \"init\",\n    value: function init(include) {\n      this._include = include;\n    }\n  }, {\n    key: \"scorePassword\",\n    value: function scorePassword(password, inputs) {\n      // 0-4 score, the more the stronger password\n      return zxcvbn(password, inputs).score;\n    }\n  }, {\n    key: \"load\",\n    value: function load() {\n      if (typeof zxcvbn === \"undefined\") {\n        this._include.include('misago/js/zxcvbn.js');\n        return this._loadingPromise();\n      } else {\n        return this._loadedPromise();\n      }\n    }\n  }, {\n    key: \"_loadingPromise\",\n    value: function _loadingPromise() {\n      return new Promise(function (resolve) {\n        var wait = function wait() {\n          if (typeof zxcvbn === \"undefined\") {\n            window.setTimeout(function () {\n              wait();\n            }, 200);\n          } else {\n            resolve();\n          }\n        };\n        wait();\n      });\n    }\n  }, {\n    key: \"_loadedPromise\",\n    value: function _loadedPromise() {\n      // we have already loaded zxcvbn.js, resolve away!\n      return new Promise(function (resolve) {\n        resolve();\n      });\n    }\n  }]);\n\n  return Zxcvbn;\n})();\n\nexports.default = new Zxcvbn();\n\n},{}],55:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nexports.default = function (ban, changeState) {\n  _reactDom2.default.render(\n  /* jshint ignore:start */\n  _react2.default.createElement(\n    _reactRedux.Provider,\n    { store: _store2.default.getStore() },\n    _react2.default.createElement(RedrawedBannedPage, { message: ban.message,\n      expires: ban.expires_on ? (0, _moment2.default)(ban.expires_on) : null })\n  ),\n  /* jshint ignore:end */\n  document.getElementById('page-mount'));\n\n  if (typeof changeState === 'undefined' || changeState) {\n    var forumName = _index2.default.get('SETTINGS').forum_name;\n    document.title = gettext(\"You are banned\") + ' | ' + forumName;\n    window.history.pushState({}, \"\", _index2.default.get('BANNED_URL'));\n  }\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _bannedPage = require('../components/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\n/* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\nvar select = function select(state) {\n  return state.tick;\n}; // jshint ignore:line\n// jshint ignore:line\n\nvar RedrawedBannedPage = (0, _reactRedux.connect)(select)(_bannedPage2.default);\n/* jshint ignore:end */\n\n},{\"../components/banned-page\":3,\"../index\":19,\"../services/store\":53,\"moment\":\"moment\",\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],56:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = mount;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\nfunction mount(Component, rootElementId) {\n  var connected = arguments.length <= 2 || arguments[2] === undefined ? true : arguments[2];\n\n  var rootElement = document.getElementById(rootElementId);\n\n  if (rootElement) {\n    if (connected) {\n      _reactDom2.default.render(\n      /* jshint ignore:start */\n      _react2.default.createElement(\n        _reactRedux.Provider,\n        { store: _store2.default.getStore() },\n        _react2.default.createElement(Component, null)\n      ),\n      /* jshint ignore:end */\n      rootElement);\n    } else {\n      _reactDom2.default.render(\n      /* jshint ignore:start */\n      _react2.default.createElement(Component, null),\n      /* jshint ignore:end */\n      rootElement);\n    }\n  }\n} // jshint ignore:line\n// jshint ignore:line\n\n},{\"../services/store\":53,\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],57:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderedList = (function () {\n  function OrderedList(items) {\n    _classCallCheck(this, OrderedList);\n\n    this.isOrdered = false;\n    this._items = items || [];\n  }\n\n  _createClass(OrderedList, [{\n    key: \"add\",\n    value: function add(key, item, order) {\n      this._items.push({\n        key: key,\n        item: item,\n\n        after: order ? order.after || null : null,\n        before: order ? order.before || null : null\n      });\n    }\n  }, {\n    key: \"get\",\n    value: function get(key, value) {\n      for (var i = 0; i < this._items.length; i++) {\n        if (this._items[i].key === key) {\n          return this._items[i].item;\n        }\n      }\n\n      return value;\n    }\n  }, {\n    key: \"has\",\n    value: function has(key) {\n      return this.get(key) !== undefined;\n    }\n  }, {\n    key: \"values\",\n    value: function values() {\n      var values = [];\n      for (var i = 0; i < this._items.length; i++) {\n        values.push(this._items[i].item);\n      }\n      return values;\n    }\n  }, {\n    key: \"order\",\n    value: function order(values_only) {\n      if (!this.isOrdered) {\n        this._items = this._order(this._items);\n        this.isOrdered = true;\n      }\n\n      if (values_only || typeof values_only === 'undefined') {\n        return this.values();\n      } else {\n        return this._items;\n      }\n    }\n  }, {\n    key: \"orderedValues\",\n    value: function orderedValues() {\n      return this.order(true);\n    }\n  }, {\n    key: \"_order\",\n    value: function _order(unordered) {\n      // Index of unordered items\n      var index = [];\n      unordered.forEach(function (item) {\n        index.push(item.key);\n      });\n\n      // Ordered items\n      var ordered = [];\n      var ordering = [];\n\n      // First pass: register items that\n      // don't specify their order\n      unordered.forEach(function (item) {\n        if (!item.after && !item.before) {\n          ordered.push(item);\n          ordering.push(item.key);\n        }\n      });\n\n      // Second pass: register items that\n      // specify their before to \"_end\"\n      unordered.forEach(function (item) {\n        if (item.before === \"_end\") {\n          ordered.push(item);\n          ordering.push(item.key);\n        }\n      });\n\n      // Third pass: keep iterating items\n      // until we hit iterations limit or finish\n      // ordering list\n      function insertItem(item) {\n        var insertAt = -1;\n        if (ordering.indexOf(item.key) === -1) {\n          if (item.after) {\n            insertAt = ordering.indexOf(item.after);\n            if (insertAt !== -1) {\n              insertAt += 1;\n            }\n          } else if (item.before) {\n            insertAt = ordering.indexOf(item.before);\n          }\n\n          if (insertAt !== -1) {\n            ordered.splice(insertAt, 0, item);\n            ordering.splice(insertAt, 0, item.key);\n          }\n        }\n      }\n\n      var iterations = 200;\n      while (iterations > 0 && index.length !== ordering.length) {\n        iterations -= 1;\n        unordered.forEach(insertItem);\n      }\n\n      return ordered;\n    }\n  }]);\n\n  return OrderedList;\n})();\n\nexports.default = OrderedList;\n\n},{}],58:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.required = required;\nexports.email = email;\nexports.minLength = minLength;\nexports.maxLength = maxLength;\nexports.usernameMinLength = usernameMinLength;\nexports.usernameMaxLength = usernameMaxLength;\nexports.usernameContent = usernameContent;\nexports.passwordMinLength = passwordMinLength;\nvar EMAIL = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nvar USERNAME = new RegExp('^[0-9a-z]+$', 'i');\n\nfunction required() {\n  return function (value) {\n    if ($.trim(value).length === 0) {\n      return gettext(\"This field is required.\");\n    }\n  };\n}\n\nfunction email(message) {\n  return function (value) {\n    if (!EMAIL.test(value)) {\n      return message || gettext(\"Enter a valid email address.\");\n    }\n  };\n}\n\nfunction minLength(limitValue, message) {\n  return function (value) {\n    var returnMessage = '';\n    var length = $.trim(value).length;\n\n    if (length < limitValue) {\n      if (message) {\n        returnMessage = message(limitValue, length);\n      } else {\n        returnMessage = ngettext(\"Ensure this value has at least %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n      }\n      return interpolate(returnMessage, {\n        limit_value: limitValue,\n        show_value: length\n      }, true);\n    }\n  };\n}\n\nfunction maxLength(limitValue, message) {\n  return function (value) {\n    var returnMessage = '';\n    var length = $.trim(value).length;\n\n    if (length > limitValue) {\n      if (message) {\n        returnMessage = message(limitValue, length);\n      } else {\n        returnMessage = ngettext(\"Ensure this value has at most %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n      }\n      return interpolate(returnMessage, {\n        limit_value: limitValue,\n        show_value: length\n      }, true);\n    }\n  };\n}\n\nfunction usernameMinLength(settings) {\n  var message = function message(limitValue) {\n    return ngettext(\"Username must be at least %(limit_value)s character long.\", \"Username must be at least %(limit_value)s characters long.\", limitValue);\n  };\n  return this.minLength(settings.username_length_min, message);\n}\n\nfunction usernameMaxLength(settings) {\n  var message = function message(limitValue) {\n    return ngettext(\"Username cannot be longer than %(limit_value)s character.\", \"Username cannot be longer than %(limit_value)s characters.\", limitValue);\n  };\n  return this.maxLength(settings.username_length_max, message);\n}\n\nfunction usernameContent() {\n  return function (value) {\n    if (!USERNAME.test($.trim(value))) {\n      return gettext(\"Username can only contain latin alphabet letters and digits.\");\n    }\n  };\n}\n\nfunction passwordMinLength(settings) {\n  var message = function message(limitValue) {\n    return ngettext(\"Valid password must be at least %(limit_value)s character long.\", \"Valid password must be at least %(limit_value)s characters long.\", limitValue);\n  };\n  return this.minLength(settings.password_length_min, message);\n}\n\n},{}]},{},[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]);\n"],"sourceRoot":"/source/"}
+{"version":3,"sources":["misago.js"],"names":["e","t","n","r","s","o","u","a","require","i","f","Error","code","l","exports","call","length",1,"module","_interopRequireDefault","obj","__esModule","default","_classCallCheck","instance","Constructor","TypeError","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","prototype","Object","create","constructor","value","enumerable","writable","configurable","setPrototypeOf","__proto__","select","state","user","auth","signedIn","signedOut","_createClass","defineProperties","target","props","descriptor","defineProperty","key","protoProps","staticProps","_react","_react2","_class","_React$Component","this","getPrototypeOf","apply","arguments","window","location","reload","interpolate","gettext","username","createElement","className","getClassName","getMessage","type","onClick","refresh","Component","react",2,"BASE_URL","$","attr","size","url","id","avatar_hash","src","getSrc","title",3,"_moment","_moment2","message","html","dangerouslySetInnerHTML","__html","plain","expires","isAfter","expires_on","fromNow","getReasonMessage","getExpirationMessage","moment",4,"_loader","_loader2","Button","disabled","loading","children","defaultProps","./loader",5,"validation","isValidated","_this2","map","error","aria-hidden","helpText","labelClass","htmlFor","label","controlClass","getFeedbackIcon","getFeedbackDescription","getFeedback","getHelpText","extra",6,"_validators","validateRequired","required","_Object$getPrototypeO","_temp","_this","_ret","_len","args","Array","_key","concat","bindInput","name","event","newState","formErrors","errors","validateField","setState","handleSubmit","preventDefault","isLoading","clean","promise","send","then","success","handleSuccess","rejection","handleError","validators","optional","validatedFields","hasOwnProperty","push","fieldErrors","validate","field","requiredError","validationError","../utils/validators",7,8,"LABELS","STYLES","undefined","_zxcvbn","_zxcvbn2","_score","_password","_inputs","password","inputs","cacheStale","trim","scorePassword","score","getScore","style","width","role","aria-valuenow","aria-valuemin","aria-valuemax","../services/zxcvbn",9,"_register","_register2","_captcha","_captcha2","_modal","_modal2","_snackbar","_snackbar2","showRegisterModal","misago","get","account_activation","info","isLoaded","show","Promise","all","load","../services/captcha","../services/modal","../services/snackbar","./register.js",10,"_interopRequireWildcard","newObj","RegisterComplete","RegisterForm","_button","_button2","_form","_form2","_formGroup","_formGroup2","_passwordStrength","_passwordStrength2","_index","_index2","_ajax","_ajax2","_auth","_auth2","_bannedPage","_bannedPage2","_Form","email","captcha","usernameContent","usernameMinLength","usernameMaxLength","passwordMinLength","validator","isValid","post","apiResponse","callback","status","assign","ban","hide","apiError","href","data-dismiss","aria-label","onSubmit","display","for","aria-describedby","onChange","component","form","getLegalFootNote","activation","getLead","getSubscript","_React$Component2","_this3","completeRegistration","signIn","complete","../index","../services/ajax","../services/auth","../utils/banned-page","./button","./form","./form-group","./password-strength",11,"LinkSent","RequestLinkForm","indexOf","detail","placeholder","reset",12,"AccountInactivePage","RequestResetForm","_reactDom","_reactDom2","showInactivePage","getActivateButton","_React$Component3","_this4","render","document","getElementById","react-dom",13,"PasswordChangedPage","ResetPasswordForm","_signIn","_signIn2","showSignIn","softSignOut","remove","./sign-in.js",14,"showActivation","append","find","val","getCsrfToken","pathname","submit","getActivationButton",15,"snackbar","Snackbar","TYPES_CLASSES","warning","snackbarClass","isVisible","getSnackbarClass",16,"CompactGuestNav","GuestNav","GuestMenu","_avatar","_avatar2","_registerButton","_registerButton2","_mobileNavbarDropdown","_mobileNavbarDropdown2","showSignInModal","_GuestMenu","showGuestMenu","../../services/mobile-navbar-dropdown","../../services/modal","../avatar","../register-button","../sign-in.js",17,"CompactUserMenu","UserMenu","_guestNav","_userNav","isAuthenticated","UserNav","CompactUserNav","./guest-nav","./user-nav",18,"selectUserMenu","store","_reactRedux","decision","confirm","absolute_url","logout","data-toggle","aria-haspopup","aria-expanded","showConnected","connect","showUserMenu","../../index","react-redux",19,"global","Misago","_orderedList","_orderedList2","_initializers","_context","initializer","item","after","before","context","initOrder","orderedValues","forEach","fallback","has","./utils/ordered-list",20,"init","addInitializer",21,"_mountComponent2","_authMessage","_authMessage2","_mountComponent","../components/auth-message","../utils/mount-component",22,"_store2","addReducer","isAnonymous","initialState","_store","../reducers/auth","../services/store",23,"_localStorage2","_localStorage","../services/local-storage",24,25,"_include2","_include","../services/include",26,27,28,"element","../services/mobile-navbar-dropdown",29,30,"locale",31,"_requestActivationLink2","_requestActivationLink","../components/request-activation-link",32,"_requestPasswordReset2","_requestPasswordReset","../components/request-password-reset",33,"_resetPasswordForm2","_resetPasswordForm","../components/reset-password-form",34,"../components/snackbar",35,"../reducers/snackbar",36,37,38,"_tick2","_tick","../reducers/tick",39,"setInterval","dispatch","doTick","TICK_PERIOD",40,"_root","../components/user-menu/root",41,42,"SIGN_IN","signOut","soft","SIGN_OUT","action",43,"showSnackbar","SHOW_SNACKBAR","messageType","hideSnackbar","HIDE_SNACKBAR",44,"TICK","tick",45,"Ajax","_cookieName","_csrfToken","cookieName","cookie","cookieRegex","RegExp","match","split","method","data","resolve","reject","xhr","headers","X-CSRFToken","dataType","jqXHR","responseJSON","statusText","ajax","request",46,"Auth","local","_local","syncSession","watchState","getState","set","watch",47,"Captcha","ReCaptcha","ReCaptchaComponent","QACaptcha","NoCaptcha","BaseCaptcha","include","_BaseCaptcha","_BaseCaptcha2","question","help_text","kwargs","grecaptcha","sitekey","siteKey","response","binding","_BaseCaptcha3","wait","setTimeout","recaptcha_site_key","captcha_type","../components/form-group",48,"Include","staticUrl","_staticUrl","_included","script","remote","cache",49,"storage","localStorage","LocalStorage","prefix","_prefix","_watchers","addEventListener","newValueJson","JSON","parse","newValue","watcher","oldValue","setItem","stringify","itemString","getItem",50,"MobileNavbarDropdown","_element","_component","addClass","removeClass",51,"Modal","modal","on","unmountComponentAtNode",52,"HIDE_ANIMATION_LENGTH","MESSAGE_SHOW_LENGTH","_timeout","clearTimeout","alert",53,"StoreWrapper","_redux","_reducers","_initialState","reducer","createStore","combineReducers","redux",54,"Zxcvbn","zxcvbn","_loadingPromise","_loadedPromise",55,"changeState","Provider","getStore","RedrawedBannedPage","forumName","forum_name","history","pushState","../components/banned-page",56,"mount","rootElementId","connected","rootElement",57,"OrderedList","items","isOrdered","_items","order","values","values_only","_order","unordered","insertItem","insertAt","ordering","ordered","splice","index","iterations",58,"EMAIL","test","minLength","limitValue","returnMessage","ngettext","limit_value","show_value","maxLength","settings","username_length_min","username_length_max","USERNAME","password_length_min"],"mappings":"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","file":"misago.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.select = select;\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: \"refresh\",\n    value: function refresh() {\n      window.location.reload();\n    }\n  }, {\n    key: \"getMessage\",\n    value: function getMessage() {\n      if (this.props.signedIn) {\n        return interpolate(gettext(\"You have signed in as %(username)s. Please refresh the page before continuing.\"), { username: this.props.signedIn.username }, true);\n      } else if (this.props.signedOut) {\n        return interpolate(gettext(\"%(username)s, you have been signed out. Please refresh the page before continuing.\"), { username: this.props.user.username }, true);\n      }\n    }\n  }, {\n    key: \"getClassName\",\n    value: function getClassName() {\n      if (this.props.signedIn || this.props.signedOut) {\n        return \"auth-message show\";\n      } else {\n        return \"auth-message\";\n      }\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        \"div\",\n        { className: this.getClassName() },\n        _react2.default.createElement(\n          \"div\",\n          { className: \"container\" },\n          _react2.default.createElement(\n            \"p\",\n            { className: \"lead\" },\n            this.getMessage()\n          ),\n          _react2.default.createElement(\n            \"p\",\n            null,\n            _react2.default.createElement(\n              \"button\",\n              { type: \"button\", className: \"btn btn-default\",\n                onClick: this.refresh },\n              gettext(\"Reload page\")\n            ),\n            \" \",\n            _react2.default.createElement(\n              \"span\",\n              { className: \"hidden-xs hidden-sm text-muted\" },\n              gettext(\"or press F5 key.\")\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\nfunction select(state) {\n  return {\n    user: state.auth.user,\n    signedIn: state.auth.signedIn,\n    signedOut: state.auth.signedOut\n  };\n}\n\n},{\"react\":\"react\"}],2:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar BASE_URL = $('base').attr('href') + 'user-avatar/';\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: 'getSrc',\n    value: function getSrc() {\n      var size = this.props.size || 100; // jshint ignore:line\n      var url = BASE_URL;\n\n      if (this.props.user && this.props.user.id) {\n        // just avatar hash, size and user id\n        url += this.props.user.avatar_hash + '/' + size + '/' + this.props.user.id + '.png';\n      } else {\n        // just append avatar size to file to produce no-avatar placeholder\n        url += size + '.png';\n      }\n\n      return url;\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement('img', { src: this.getSrc(),\n        className: this.props.className || 'user-avatar',\n        title: gettext(\"User avatar\") });\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],3:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: 'getReasonMessage',\n    value: function getReasonMessage() {\n      /* jshint ignore:start */\n      if (this.props.message.html) {\n        return _react2.default.createElement('div', { className: 'lead',\n          dangerouslySetInnerHTML: { __html: this.props.message.html } });\n      } else {\n        return _react2.default.createElement(\n          'p',\n          { className: 'lead' },\n          this.props.message.plain\n        );\n      }\n      /* jshint ignore:end */\n    }\n  }, {\n    key: 'getExpirationMessage',\n    value: function getExpirationMessage() {\n      if (this.props.expires) {\n        if (this.props.expires.isAfter((0, _moment2.default)())) {\n          return interpolate(gettext(\"This ban expires %(expires_on)s.\"), { 'expires_on': this.props.expires.fromNow() }, true);\n        } else {\n          return gettext(\"This ban has expired.\");\n        }\n      } else {\n        return gettext(\"This ban is permanent.\");\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'page page-error page-error-banned' },\n        _react2.default.createElement(\n          'div',\n          { className: 'container' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-panel' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'highlight_off'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              this.getReasonMessage(),\n              _react2.default.createElement(\n                'p',\n                { className: 'message-footnote' },\n                this.getExpirationMessage()\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"moment\":\"moment\",\"react\":\"react\"}],4:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n// jshint ignore:line\n\nvar Button = (function (_React$Component) {\n  _inherits(Button, _React$Component);\n\n  function Button() {\n    _classCallCheck(this, Button);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(Button).apply(this, arguments));\n  }\n\n  _createClass(Button, [{\n    key: 'render',\n    value: function render() {\n      var className = 'btn ' + this.props.className;\n      var disabled = this.props.disabled;\n\n      if (this.props.loading) {\n        className += ' btn-loading';\n        disabled = true;\n      }\n\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: this.props.onClick ? 'button' : 'submit',\n          className: className,\n          disabled: disabled,\n          onClick: this.props.onClick },\n        this.props.children,\n        this.props.loading ? _react2.default.createElement(_loader2.default, null) : null\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return Button;\n})(_react2.default.Component);\n\nexports.default = Button;\n\nButton.defaultProps = {\n  className: \"btn-default\",\n\n  type: \"submit\",\n\n  loading: false,\n  disabled: false,\n\n  onClick: null\n};\n\n},{\"./loader\":7,\"react\":\"react\"}],5:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: 'isValidated',\n    value: function isValidated() {\n      return typeof this.props.validation !== \"undefined\";\n    }\n  }, {\n    key: 'getClassName',\n    value: function getClassName() {\n      var className = 'form-group';\n      if (this.isValidated()) {\n        className += ' has-feedback';\n        if (this.props.validation === null) {\n          className += ' has-success';\n        } else {\n          className += ' has-error';\n        }\n      }\n      return className;\n    }\n  }, {\n    key: 'getFeedback',\n    value: function getFeedback() {\n      var _this2 = this;\n\n      if (this.props.validation) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'div',\n          { className: 'help-block errors' },\n          this.props.validation.map(function (error, i) {\n            return _react2.default.createElement(\n              'p',\n              { key: _this2.props.for + 'FeedbackItem' + i },\n              error\n            );\n          })\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'getFeedbackIcon',\n    value: function getFeedbackIcon() {\n      if (this.isValidated()) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'span',\n          { className: 'material-icon form-control-feedback',\n            'aria-hidden': 'true', key: this.props.for + 'FeedbackIcon' },\n          this.props.validation ? 'clear' : 'check'\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'getFeedbackDescription',\n    value: function getFeedbackDescription() {\n      if (this.isValidated()) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'span',\n          { id: this.props.for + '_status', className: 'sr-only' },\n          this.props.validation ? gettext('(error)') : gettext('(success)')\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'getHelpText',\n    value: function getHelpText() {\n      if (this.props.helpText) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'p',\n          { className: 'help-block' },\n          this.props.helpText\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: this.getClassName() },\n        _react2.default.createElement(\n          'label',\n          { className: 'control-label ' + (this.props.labelClass || ''),\n            htmlFor: this.props.for || '' },\n          this.props.label,\n          ':'\n        ),\n        _react2.default.createElement(\n          'div',\n          { className: this.props.controlClass || '' },\n          this.props.children,\n          this.getFeedbackIcon(),\n          this.getFeedbackDescription(),\n          this.getFeedback(),\n          this.getHelpText(),\n          this.props.extra || null\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],6:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _validators = require('../utils/validators');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar validateRequired = (0, _validators.required)();\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    var _Object$getPrototypeO;\n\n    var _temp, _this, _ret;\n\n    _classCallCheck(this, _class);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(_class)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this), _this.bindInput = function (name) {\n      return function (event) {\n        var newState = {};\n        newState[name] = event.target.value;\n\n        var formErrors = _this.state.errors || {};\n        formErrors[name] = _this.validateField(name, newState[name]);\n        newState.errors = formErrors;\n\n        _this.setState(newState);\n      };\n    }, _this.handleSubmit = function (event) {\n      // we don't reload page on submissions\n      event.preventDefault();\n      if (_this.state.isLoading) {\n        return;\n      }\n\n      if (_this.clean()) {\n        _this.setState({ 'isLoading': true });\n        var promise = _this.send();\n\n        if (promise) {\n          promise.then(function (success) {\n            _this.setState({ 'isLoading': false });\n            _this.handleSuccess(success);\n          }, function (rejection) {\n            _this.setState({ 'isLoading': false });\n            _this.handleError(rejection);\n          });\n        } else {\n          _this.setState({ 'isLoading': false });\n        }\n      }\n    }, _temp), _possibleConstructorReturn(_this, _ret);\n  }\n\n  _createClass(_class, [{\n    key: 'validate',\n    value: function validate() {\n      var errors = {};\n\n      var validators = {\n        required: this.state.validators.required || this.state.validators,\n        optional: this.state.validators.optional || {}\n      };\n\n      var validatedFields = [];\n\n      // add required fields to validation\n      for (var name in validators.required) {\n        if (validators.required.hasOwnProperty(name) && validators.required[name]) {\n          validatedFields.push(name);\n        }\n      }\n\n      // add optional fields to validation\n      for (var name in validators.optional) {\n        if (validators.optional.hasOwnProperty(name) && validators.optional[name]) {\n          validatedFields.push(name);\n        }\n      }\n\n      // validate fields values\n      for (var i in validatedFields) {\n        var name = validatedFields[i];\n        var fieldErrors = this.validateField(name, this.state[name]);\n\n        if (fieldErrors === null) {\n          errors[name] = null;\n        } else if (fieldErrors) {\n          errors[name] = fieldErrors;\n        }\n      }\n\n      return errors;\n    }\n  }, {\n    key: 'isValid',\n    value: function isValid() {\n      var errors = this.validate();\n      for (var field in errors) {\n        if (errors.hasOwnProperty(field)) {\n          if (errors[field] !== null) {\n            return false;\n          }\n        }\n      }\n\n      return true;\n    }\n  }, {\n    key: 'validateField',\n    value: function validateField(name, value) {\n      var errors = [];\n\n      var validators = {\n        required: (this.state.validators.required || this.state.validators)[name],\n        optional: (this.state.validators.optional || {})[name]\n      };\n\n      var requiredError = validateRequired(value) || false;\n\n      if (validators.required) {\n        if (requiredError) {\n          errors = [requiredError];\n        } else {\n          for (var i in validators.required) {\n            var validationError = validators.required[i](value);\n            if (validationError) {\n              errors.push(validationError);\n            }\n          }\n        }\n\n        return errors.length ? errors : null;\n      } else if (requiredError === false && validators.optional) {\n        for (var i in validators.optional) {\n          var validationError = validators.optional[i](value);\n          if (validationError) {\n            errors.push(validationError);\n          }\n        }\n\n        return errors.length ? errors : null;\n      }\n\n      return false; // false === field wasn't validated\n    }\n\n    /* jshint ignore:start */\n\n  }, {\n    key: 'clean',\n    value: function clean() {\n      return true;\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return null;\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(success) {\n      return;\n    }\n  }, {\n    key: 'handleError',\n\n    /* jshint ignore:end */\n    value: function handleError(rejection) {\n      return;\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../utils/validators\":58,\"react\":\"react\"}],7:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require(\"react\");\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class() {\n    _classCallCheck(this, _class);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(_class).apply(this, arguments));\n  }\n\n  _createClass(_class, [{\n    key: \"render\",\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        \"div\",\n        { className: \"loader-compact\" },\n        _react2.default.createElement(\"div\", { className: \"loader-spinning-wheel\" })\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"react\":\"react\"}],8:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.LABELS = exports.STYLES = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar STYLES = exports.STYLES = ['progress-bar-danger', 'progress-bar-warning', 'progress-bar-warning', 'progress-bar-primary', 'progress-bar-success'];\n\nvar LABELS = exports.LABELS = [gettext(\"Entered password is very weak.\"), gettext(\"Entered password is weak.\"), gettext(\"Entered password is average.\"), gettext(\"Entered password is strong.\"), gettext(\"Entered password is very strong.\")];\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this._score = 0;\n    _this._password = null;\n    _this._inputs = [];\n    return _this;\n  }\n\n  _createClass(_class, [{\n    key: 'getScore',\n    value: function getScore(password, inputs) {\n      var _this2 = this;\n\n      var cacheStale = false;\n\n      if (password.trim() !== this._password) {\n        cacheStale = true;\n      }\n\n      if (inputs.length !== this._inputs.length) {\n        cacheStale = true;\n      } else {\n        inputs.map(function (value, i) {\n          if (value.trim() !== _this2._inputs[i]) {\n            cacheStale = true;\n          }\n        });\n      }\n\n      if (cacheStale) {\n        this._score = _zxcvbn2.default.scorePassword(password, inputs);\n        this._password = password.trim();\n        this._inputs = inputs.map(function (value) {\n          return value.trim();\n        });\n      }\n\n      return this._score;\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      var score = this.getScore(this.props.password, this.props.inputs);\n\n      return _react2.default.createElement(\n        'div',\n        { className: 'help-block password-strength' },\n        _react2.default.createElement(\n          'div',\n          { className: 'progress' },\n          _react2.default.createElement(\n            'div',\n            { className: \"progress-bar \" + STYLES[score],\n              style: { width: 20 + 20 * score + '%' },\n              role: 'progress-bar',\n              'aria-valuenow': score,\n              'aria-valuemin': '0',\n              'aria-valuemax': '4' },\n            _react2.default.createElement(\n              'span',\n              { className: 'sr-only' },\n              LABELS[score]\n            )\n          )\n        ),\n        _react2.default.createElement(\n          'p',\n          { className: 'text-small' },\n          LABELS[score]\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/zxcvbn\":54,\"react\":\"react\"}],9:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _loader = require('./loader');\n\nvar _loader2 = _interopRequireDefault(_loader);\n\nvar _register = require('./register.js');\n\nvar _register2 = _interopRequireDefault(_register);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\n// jshint ignore:line\n\nvar _class = (function (_React$Component) {\n  _inherits(_class, _React$Component);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this.showRegisterModal = function () {\n      if (misago.get('SETTINGS').account_activation === 'closed') {\n        _snackbar2.default.info(gettext(\"New registrations are currently disabled.\"));\n      } else if (_this.state.isLoaded) {\n        _modal2.default.show(_register2.default);\n      } else {\n        _this.setState({\n          'isLoading': true\n        });\n\n        Promise.all([_captcha2.default.load(), _zxcvbn2.default.load()]).then(function () {\n          if (!_this.state.isLoaded) {\n            _this.setState({\n              'isLoading': false,\n              'isLoaded': false\n            });\n          }\n\n          _modal2.default.show(_register2.default);\n        });\n      }\n    };\n\n    _this.state = {\n      'isLoading': false,\n      'isLoaded': false\n    };\n    return _this;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'getClassName',\n\n    /* jshint ignore:end */\n\n    value: function getClassName() {\n      return this.props.className + (this.state.isLoading ? ' btn-loading' : '');\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: 'button', onClick: this.showRegisterModal,\n          className: 'btn ' + this.getClassName(),\n          disabled: this.state.isLoaded },\n        gettext(\"Register\"),\n        this.state.isLoading ? _react2.default.createElement(_loader2.default, null) : null\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../services/captcha\":47,\"../services/modal\":51,\"../services/snackbar\":52,\"../services/zxcvbn\":54,\"./loader\":7,\"./register.js\":10,\"react\":\"react\"}],10:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.RegisterComplete = exports.RegisterForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _formGroup = require('./form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nvar _passwordStrength = require('./password-strength');\n\nvar _passwordStrength2 = _interopRequireDefault(_passwordStrength);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\nvar RegisterForm = exports.RegisterForm = (function (_Form) {\n  _inherits(RegisterForm, _Form);\n\n  function RegisterForm(props) {\n    _classCallCheck(this, RegisterForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(RegisterForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'username': '',\n      'email': '',\n      'password': '',\n      'captcha': '',\n\n      'validators': {\n        'username': [validators.usernameContent(), validators.usernameMinLength(_index2.default.get('SETTINGS')), validators.usernameMaxLength(_index2.default.get('SETTINGS'))],\n        'email': [validators.email()],\n        'password': [validators.passwordMinLength(_index2.default.get('SETTINGS'))],\n        'captcha': _captcha2.default.validator()\n      },\n\n      'errors': {}\n    };\n    return _this;\n  }\n\n  _createClass(RegisterForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        _snackbar2.default.error(gettext(\"Form contains errors.\"));\n        this.setState({\n          'errors': this.validate()\n        });\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('USERS_API'), {\n        'username': this.state.username,\n        'email': this.state.email,\n        'password': this.state.password,\n        'captcha': this.state.captcha\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (rejection.status === 400) {\n        this.setState({\n          'errors': Object.assign({}, this.state.errors, rejection)\n        });\n        _snackbar2.default.error(gettext(\"Form contains errors.\"));\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n        _modal2.default.hide();\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'getLegalFootNote',\n    value: function getLegalFootNote() {\n      if (_index2.default.get('TERMS_OF_SERVICE_URL')) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'a',\n          { href: _index2.default.get('TERMS_OF_SERVICE_URL'),\n            target: '_blank' },\n          gettext(\"By registering you agree to site's terms and conditions.\")\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'modal-dialog modal-register', role: 'document' },\n        _react2.default.createElement(\n          'div',\n          { className: 'modal-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-header' },\n            _react2.default.createElement(\n              'button',\n              { type: 'button', className: 'close', 'data-dismiss': 'modal',\n                'aria-label': gettext(\"Close\") },\n              _react2.default.createElement(\n                'span',\n                { 'aria-hidden': 'true' },\n                '×'\n              )\n            ),\n            _react2.default.createElement(\n              'h4',\n              { className: 'modal-title' },\n              gettext(\"Register\")\n            )\n          ),\n          _react2.default.createElement(\n            'form',\n            { onSubmit: this.handleSubmit, className: 'form-horizontal' },\n            _react2.default.createElement('input', { type: 'type', style: { display: 'none' } }),\n            _react2.default.createElement('input', { type: 'password', style: { display: 'none' } }),\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-body' },\n              _react2.default.createElement(\n                _formGroup2.default,\n                { label: gettext(\"Username\"), 'for': 'id_username',\n                  labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n                  validation: this.state.errors.username },\n                _react2.default.createElement('input', { type: 'text', id: 'id_username', className: 'form-control',\n                  'aria-describedby': 'id_username_status',\n                  disabled: this.state.isLoading,\n                  onChange: this.bindInput('username'),\n                  value: this.state.username })\n              ),\n              _react2.default.createElement(\n                _formGroup2.default,\n                { label: gettext(\"E-mail\"), 'for': 'id_email',\n                  labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n                  validation: this.state.errors.email },\n                _react2.default.createElement('input', { type: 'text', id: 'id_email', className: 'form-control',\n                  'aria-describedby': 'id_email_status',\n                  disabled: this.state.isLoading,\n                  onChange: this.bindInput('email'),\n                  value: this.state.email })\n              ),\n              _react2.default.createElement(\n                _formGroup2.default,\n                { label: gettext(\"Password\"), 'for': 'id_password',\n                  labelClass: 'col-sm-4', controlClass: 'col-sm-8',\n                  validation: this.state.errors.password,\n                  extra: _react2.default.createElement(_passwordStrength2.default, { password: this.state.password,\n                    inputs: [this.state.username, this.state.email] }) },\n                _react2.default.createElement('input', { type: 'password', id: 'id_password', className: 'form-control',\n                  'aria-describedby': 'id_password_status',\n                  disabled: this.state.isLoading,\n                  onChange: this.bindInput('password'),\n                  value: this.state.password })\n              ),\n              _captcha2.default.component({\n                form: this,\n                labelClass: \"col-sm-4\",\n                controlClass: \"col-sm-8\"\n              })\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-footer' },\n              this.getLegalFootNote(),\n              _react2.default.createElement(\n                _button2.default,\n                { className: 'btn-primary', loading: this.state.isLoading },\n                gettext(\"Register account\")\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RegisterForm;\n})(_form2.default);\n\nvar RegisterComplete = exports.RegisterComplete = (function (_React$Component) {\n  _inherits(RegisterComplete, _React$Component);\n\n  function RegisterComplete() {\n    _classCallCheck(this, RegisterComplete);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(RegisterComplete).apply(this, arguments));\n  }\n\n  _createClass(RegisterComplete, [{\n    key: 'getLead',\n    value: function getLead() {\n      if (this.props.activation === 'user') {\n        return gettext(\"%(username)s, your account has been created but you need to activate it before you will be able to sign in.\");\n      } else if (this.props.activation === 'admin') {\n        return gettext(\"%(username)s, your account has been created but board administrator will have to activate it before you will be able to sign in.\");\n      }\n    }\n  }, {\n    key: 'getSubscript',\n    value: function getSubscript() {\n      if (this.props.activation === 'user') {\n        return gettext(\"We have sent an e-mail to %(email)s with link that you have to click to activate your account.\");\n      } else if (this.props.activation === 'admin') {\n        return gettext(\"We will send an e-mail to %(email)s when this takes place.\");\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'modal-dialog modal-message modal-register',\n          role: 'document' },\n        _react2.default.createElement(\n          'div',\n          { className: 'modal-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-header' },\n            _react2.default.createElement(\n              'button',\n              { type: 'button', className: 'close', 'data-dismiss': 'modal',\n                'aria-label': gettext(\"Close\") },\n              _react2.default.createElement(\n                'span',\n                { 'aria-hidden': 'true' },\n                '×'\n              )\n            ),\n            _react2.default.createElement(\n              'h4',\n              { className: 'modal-title' },\n              gettext(\"Registration complete\")\n            )\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-body' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'info_outline'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              _react2.default.createElement(\n                'p',\n                { className: 'lead' },\n                interpolate(this.getLead(), { 'username': this.props.username }, true)\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                interpolate(this.getSubscript(), { 'email': this.props.email }, true)\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RegisterComplete;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component2) {\n  _inherits(_class, _React$Component2);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this3 = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this3.completeRegistration = function (apiResponse) {\n      if (apiResponse.activation === 'active') {\n        _modal2.default.hide();\n        _auth2.default.signIn(apiResponse);\n      } else {\n        _this3.setState({\n          'complete': apiResponse\n        });\n      }\n    };\n\n    _this3.state = {\n      'complete': false\n    };\n    return _this3;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'render',\n\n    /* jshint ignore:end */\n\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.state.complete) {\n        return _react2.default.createElement(RegisterComplete, { activation: this.state.complete.activation,\n          username: this.state.complete.username,\n          email: this.state.complete.email });\n      } else {\n        return _react2.default.createElement(RegisterForm, { callback: this.completeRegistration });\n      }\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/auth\":46,\"../services/captcha\":47,\"../services/modal\":51,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"./form-group\":5,\"./password-strength\":8,\"react\":\"react\"}],11:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.LinkSent = exports.RequestLinkForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar RequestLinkForm = exports.RequestLinkForm = (function (_Form) {\n  _inherits(RequestLinkForm, _Form);\n\n  function RequestLinkForm(props) {\n    _classCallCheck(this, RequestLinkForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(RequestLinkForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'email': '',\n\n      'validators': {\n        'email': [validators.email()]\n      }\n    };\n    return _this;\n  }\n\n  _createClass(RequestLinkForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('SEND_ACTIVATION_API'), {\n        'email': this.state.email\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (['already_active', 'inactive_admin'].indexOf(rejection.code) > -1) {\n        _snackbar2.default.info(rejection.detail);\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-activation-link' },\n        _react2.default.createElement(\n          'form',\n          { onSubmit: this.handleSubmit },\n          _react2.default.createElement(\n            'div',\n            { className: 'form-group' },\n            _react2.default.createElement(\n              'div',\n              { className: 'control-input' },\n              _react2.default.createElement('input', { type: 'text', className: 'form-control',\n                placeholder: gettext(\"Your e-mail address\"),\n                disabled: this.state.isLoading,\n                onChange: this.bindInput('email'),\n                value: this.state.email })\n            )\n          ),\n          _react2.default.createElement(\n            _button2.default,\n            { className: 'btn-primary btn-block',\n              loading: this.state.isLoading },\n            gettext(\"Send link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RequestLinkForm;\n})(_form2.default);\n\nvar LinkSent = exports.LinkSent = (function (_React$Component) {\n  _inherits(LinkSent, _React$Component);\n\n  function LinkSent() {\n    _classCallCheck(this, LinkSent);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(LinkSent).apply(this, arguments));\n  }\n\n  _createClass(LinkSent, [{\n    key: 'getMessage',\n    value: function getMessage() {\n      return interpolate(gettext(\"Activation link was sent to %(email)s\"), {\n        email: this.props.user.email\n      }, true);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-activation-link well-done' },\n        _react2.default.createElement(\n          'div',\n          { className: 'done-message' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-icon' },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'check'\n            )\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'message-body' },\n            _react2.default.createElement(\n              'p',\n              null,\n              this.getMessage()\n            )\n          ),\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn btn-primary btn-block',\n              onClick: this.props.callback },\n            gettext(\"Request another link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return LinkSent;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component2) {\n  _inherits(_class, _React$Component2);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this3 = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this3.complete = function (apiResponse) {\n      _this3.setState({\n        complete: apiResponse\n      });\n    };\n\n    _this3.reset = function () {\n      _this3.setState({\n        complete: false\n      });\n    };\n\n    _this3.state = {\n      complete: false\n    };\n    return _this3;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'render',\n\n    /* jshint ignore:end */\n\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.state.complete) {\n        return _react2.default.createElement(LinkSent, { user: this.state.complete, callback: this.reset });\n      } else {\n        return _react2.default.createElement(RequestLinkForm, { callback: this.complete });\n      };\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"react\":\"react\"}],12:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.AccountInactivePage = exports.LinkSent = exports.RequestResetForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\nvar RequestResetForm = exports.RequestResetForm = (function (_Form) {\n  _inherits(RequestResetForm, _Form);\n\n  function RequestResetForm(props) {\n    _classCallCheck(this, RequestResetForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(RequestResetForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'email': '',\n\n      'validators': {\n        'email': [validators.email()]\n      }\n    };\n    return _this;\n  }\n\n  _createClass(RequestResetForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        _snackbar2.default.error(gettext(\"Enter a valid email address.\"));\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('SEND_PASSWORD_RESET_API'), {\n        'email': this.state.email\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (['inactive_user', 'inactive_admin'].indexOf(rejection.code) > -1) {\n        this.props.showInactivePage(rejection);\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-password-reset' },\n        _react2.default.createElement(\n          'form',\n          { onSubmit: this.handleSubmit },\n          _react2.default.createElement(\n            'div',\n            { className: 'form-group' },\n            _react2.default.createElement(\n              'div',\n              { className: 'control-input' },\n              _react2.default.createElement('input', { type: 'text', className: 'form-control',\n                placeholder: gettext(\"Your e-mail address\"),\n                disabled: this.state.isLoading,\n                onChange: this.bindInput('email'),\n                value: this.state.email })\n            )\n          ),\n          _react2.default.createElement(\n            _button2.default,\n            { className: 'btn-primary btn-block',\n              loading: this.state.isLoading },\n            gettext(\"Send link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return RequestResetForm;\n})(_form2.default);\n\nvar LinkSent = exports.LinkSent = (function (_React$Component) {\n  _inherits(LinkSent, _React$Component);\n\n  function LinkSent() {\n    _classCallCheck(this, LinkSent);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(LinkSent).apply(this, arguments));\n  }\n\n  _createClass(LinkSent, [{\n    key: 'getMessage',\n    value: function getMessage() {\n      return interpolate(gettext(\"Reset password link was sent to %(email)s\"), {\n        email: this.props.user.email\n      }, true);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-request-password-reset well-done' },\n        _react2.default.createElement(\n          'div',\n          { className: 'done-message' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-icon' },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'check'\n            )\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'message-body' },\n            _react2.default.createElement(\n              'p',\n              null,\n              this.getMessage()\n            )\n          ),\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn btn-primary btn-block',\n              onClick: this.props.callback },\n            gettext(\"Request another link\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return LinkSent;\n})(_react2.default.Component);\n\nvar AccountInactivePage = exports.AccountInactivePage = (function (_React$Component2) {\n  _inherits(AccountInactivePage, _React$Component2);\n\n  function AccountInactivePage() {\n    _classCallCheck(this, AccountInactivePage);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(AccountInactivePage).apply(this, arguments));\n  }\n\n  _createClass(AccountInactivePage, [{\n    key: 'getActivateButton',\n    value: function getActivateButton() {\n      if (this.props.activation === 'inactive_user') {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'p',\n          null,\n          _react2.default.createElement(\n            'a',\n            { href: _index2.default.get('REQUEST_ACTIVATION_URL') },\n            gettext(\"Activate your account.\")\n          )\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'page page-message page-message-info page-forgotten-password-inactive' },\n        _react2.default.createElement(\n          'div',\n          { className: 'container' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-panel' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'info_outline'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              _react2.default.createElement(\n                'p',\n                { className: 'lead' },\n                gettext(\"Your account is inactive.\")\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                this.props.message\n              ),\n              this.getActivateButton()\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return AccountInactivePage;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component3) {\n  _inherits(_class, _React$Component3);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this4 = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this4.complete = function (apiResponse) {\n      _this4.setState({\n        complete: apiResponse\n      });\n    };\n\n    _this4.reset = function () {\n      _this4.setState({\n        complete: false\n      });\n    };\n\n    _this4.state = {\n      complete: false\n    };\n    return _this4;\n  }\n\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'showInactivePage',\n    value: function showInactivePage(apiResponse) {\n      _reactDom2.default.render(_react2.default.createElement(AccountInactivePage, { activation: apiResponse.code,\n        message: apiResponse.detail }), document.getElementById('page-mount'));\n    }\n    /* jshint ignore:end */\n\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.state.complete) {\n        return _react2.default.createElement(LinkSent, { user: this.state.complete, callback: this.reset });\n      } else {\n        return _react2.default.createElement(RequestResetForm, { callback: this.complete,\n          showInactivePage: this.showInactivePage });\n      };\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"react\":\"react\",\"react-dom\":\"react-dom\"}],13:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.PasswordChangedPage = exports.ResetPasswordForm = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _signIn = require('./sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _validators = require('../utils/validators');\n\nvar validators = _interopRequireWildcard(_validators);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n// jshint ignore:line\n\nvar ResetPasswordForm = exports.ResetPasswordForm = (function (_Form) {\n  _inherits(ResetPasswordForm, _Form);\n\n  function ResetPasswordForm(props) {\n    _classCallCheck(this, ResetPasswordForm);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ResetPasswordForm).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n\n      'password': '',\n\n      'validators': {\n        'password': [validators.passwordMinLength(_index2.default.get('SETTINGS'))]\n      }\n    };\n    return _this;\n  }\n\n  _createClass(ResetPasswordForm, [{\n    key: 'clean',\n    value: function clean() {\n      if (this.isValid()) {\n        return true;\n      } else {\n        if (this.state.password.trim().length) {\n          _snackbar2.default.error(this.state.errors.password[0]);\n        } else {\n          _snackbar2.default.error(gettext(\"Enter new password.\"));\n        }\n        return false;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('CHANGE_PASSWORD_API'), {\n        'password': this.state.password\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess(apiResponse) {\n      this.props.callback(apiResponse);\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'well well-form well-form-reset-password' },\n        _react2.default.createElement(\n          'form',\n          { onSubmit: this.handleSubmit },\n          _react2.default.createElement(\n            'div',\n            { className: 'form-group' },\n            _react2.default.createElement(\n              'div',\n              { className: 'control-input' },\n              _react2.default.createElement('input', { type: 'password', className: 'form-control',\n                placeholder: gettext(\"Enter new password\"),\n                disabled: this.state.isLoading,\n                onChange: this.bindInput('password'),\n                value: this.state.password })\n            )\n          ),\n          _react2.default.createElement(\n            _button2.default,\n            { className: 'btn-primary btn-block',\n              loading: this.state.isLoading },\n            gettext(\"Change password\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return ResetPasswordForm;\n})(_form2.default);\n\nvar PasswordChangedPage = exports.PasswordChangedPage = (function (_React$Component) {\n  _inherits(PasswordChangedPage, _React$Component);\n\n  function PasswordChangedPage() {\n    _classCallCheck(this, PasswordChangedPage);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(PasswordChangedPage).apply(this, arguments));\n  }\n\n  _createClass(PasswordChangedPage, [{\n    key: 'getMessage',\n    value: function getMessage() {\n      return interpolate(gettext(\"%(username)s, your password has been changed successfully.\"), {\n        username: this.props.user.username\n      }, true);\n    }\n  }, {\n    key: 'showSignIn',\n    value: function showSignIn() {\n      _modal2.default.show(_signIn2.default);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'page page-message page-message-success page-forgotten-password-changed' },\n        _react2.default.createElement(\n          'div',\n          { className: 'container' },\n          _react2.default.createElement(\n            'div',\n            { className: 'message-panel' },\n            _react2.default.createElement(\n              'div',\n              { className: 'message-icon' },\n              _react2.default.createElement(\n                'span',\n                { className: 'material-icon' },\n                'check'\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'message-body' },\n              _react2.default.createElement(\n                'p',\n                { className: 'lead' },\n                this.getMessage()\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                gettext(\"You will have to sign in using new password before continuing.\")\n              ),\n              _react2.default.createElement(\n                'p',\n                null,\n                _react2.default.createElement(\n                  'button',\n                  { type: 'button', className: 'btn btn-primary', onClick: this.showSignIn },\n                  gettext(\"Sign in\")\n                )\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return PasswordChangedPage;\n})(_react2.default.Component);\n\nvar _class = (function (_React$Component2) {\n  _inherits(_class, _React$Component2);\n\n  function _class() {\n    var _Object$getPrototypeO;\n\n    var _temp, _this3, _ret;\n\n    _classCallCheck(this, _class);\n\n    for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n      args[_key] = arguments[_key];\n    }\n\n    return _ret = (_temp = (_this3 = _possibleConstructorReturn(this, (_Object$getPrototypeO = Object.getPrototypeOf(_class)).call.apply(_Object$getPrototypeO, [this].concat(args))), _this3), _this3.complete = function (apiResponse) {\n      _auth2.default.softSignOut();\n\n      // nuke \"redirect_to\" field so we don't end coming back to error page\n      $('#hidden-login-form input[name=\"redirect_to\"]').remove();\n\n      _reactDom2.default.render(_react2.default.createElement(PasswordChangedPage, { user: apiResponse }), document.getElementById('page-mount'));\n    }, _temp), _possibleConstructorReturn(_this3, _ret);\n  }\n  /* jshint ignore:start */\n\n  _createClass(_class, [{\n    key: 'render',\n\n    /* jshint ignore:end */\n\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(ResetPasswordForm, { callback: this.complete });\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_react2.default.Component);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/auth\":46,\"../services/modal\":51,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"../utils/validators\":58,\"./button\":4,\"./form\":6,\"./sign-in.js\":14,\"react\":\"react\",\"react-dom\":\"react-dom\"}],14:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _button = require('./button');\n\nvar _button2 = _interopRequireDefault(_button);\n\nvar _form = require('./form');\n\nvar _form2 = _interopRequireDefault(_form);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar _class = (function (_Form) {\n  _inherits(_class, _Form);\n\n  function _class(props) {\n    _classCallCheck(this, _class);\n\n    var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(_class).call(this, props));\n\n    _this.state = {\n      'isLoading': false,\n      'showActivation': false,\n\n      'username': '',\n      'password': '',\n\n      'validators': {\n        'username': [],\n        'password': []\n      }\n    };\n    return _this;\n  }\n\n  _createClass(_class, [{\n    key: 'clean',\n    value: function clean() {\n      if (!this.isValid()) {\n        _snackbar2.default.error(gettext(\"Fill out both fields.\"));\n        return false;\n      } else {\n        return true;\n      }\n    }\n  }, {\n    key: 'send',\n    value: function send() {\n      return _ajax2.default.post(_index2.default.get('AUTH_API'), {\n        'username': this.state.username,\n        'password': this.state.password\n      });\n    }\n  }, {\n    key: 'handleSuccess',\n    value: function handleSuccess() {\n      var form = $('#hidden-login-form');\n\n      form.append('<input type=\"text\" name=\"username\" />');\n      form.append('<input type=\"password\" name=\"password\" />');\n\n      // fill out form with user credentials and submit it, this will tell\n      // Misago to redirect user back to right page, and will trigger browser's\n      // key ring feature\n      form.find('input[type=\"hidden\"]').val(_ajax2.default.getCsrfToken());\n      form.find('input[name=\"redirect_to\"]').val(window.location.pathname);\n      form.find('input[name=\"username\"]').val(this.state.username);\n      form.find('input[name=\"password\"]').val(this.state.password);\n      form.submit();\n\n      // keep form loading\n      this.setState({\n        'isLoading': true\n      });\n    }\n  }, {\n    key: 'handleError',\n    value: function handleError(rejection) {\n      if (rejection.status === 400) {\n        if (rejection.code === 'inactive_admin') {\n          _snackbar2.default.info(rejection.detail);\n        } else if (rejection.code === 'inactive_user') {\n          _snackbar2.default.info(rejection.detail);\n          this.setState({\n            'showActivation': true\n          });\n        } else if (rejection.code === 'banned') {\n          (0, _bannedPage2.default)(rejection.detail);\n          _modal2.default.hide();\n        } else {\n          _snackbar2.default.error(rejection.detail);\n        }\n      } else if (rejection.status === 403 && rejection.ban) {\n        (0, _bannedPage2.default)(rejection.ban);\n        _modal2.default.hide();\n      } else {\n        _snackbar2.default.apiError(rejection);\n      }\n    }\n  }, {\n    key: 'getActivationButton',\n    value: function getActivationButton() {\n      if (this.state.showActivation) {\n        /* jshint ignore:start */\n        return _react2.default.createElement(\n          'a',\n          { href: _index2.default.get('REQUEST_ACTIVATION_URL'),\n            className: 'btn btn-success btn-block' },\n          gettext(\"Activate account\")\n        );\n        /* jshint ignore:end */\n      } else {\n          return null;\n        }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'modal-dialog modal-sm modal-sign-in',\n          role: 'document' },\n        _react2.default.createElement(\n          'div',\n          { className: 'modal-content' },\n          _react2.default.createElement(\n            'div',\n            { className: 'modal-header' },\n            _react2.default.createElement(\n              'button',\n              { type: 'button', className: 'close', 'data-dismiss': 'modal',\n                'aria-label': gettext(\"Close\") },\n              _react2.default.createElement(\n                'span',\n                { 'aria-hidden': 'true' },\n                '×'\n              )\n            ),\n            _react2.default.createElement(\n              'h4',\n              { className: 'modal-title' },\n              gettext(\"Sign in\")\n            )\n          ),\n          _react2.default.createElement(\n            'form',\n            { onSubmit: this.handleSubmit },\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-body' },\n              _react2.default.createElement(\n                'div',\n                { className: 'form-group' },\n                _react2.default.createElement(\n                  'div',\n                  { className: 'control-input' },\n                  _react2.default.createElement('input', { id: 'id_username', className: 'form-control', type: 'text',\n                    disabled: this.state.isLoading,\n                    placeholder: gettext(\"Username or e-mail\"),\n                    onChange: this.bindInput('username'),\n                    value: this.state.username })\n                )\n              ),\n              _react2.default.createElement(\n                'div',\n                { className: 'form-group' },\n                _react2.default.createElement(\n                  'div',\n                  { className: 'control-input' },\n                  _react2.default.createElement('input', { id: 'id_password', className: 'form-control', type: 'password',\n                    disabled: this.state.isLoading,\n                    placeholder: gettext(\"Password\"),\n                    onChange: this.bindInput('password'),\n                    value: this.state.password })\n                )\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'modal-footer' },\n              this.getActivationButton(),\n              _react2.default.createElement(\n                _button2.default,\n                { className: 'btn-primary btn-block',\n                  loading: this.state.isLoading },\n                gettext(\"Sign in\")\n              ),\n              _react2.default.createElement(\n                'a',\n                { href: _index2.default.get('FORGOTTEN_PASSWORD_URL'),\n                  className: 'btn btn-default btn-block' },\n                gettext(\"Forgot password?\")\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return _class;\n})(_form2.default);\n\nexports.default = _class;\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/modal\":51,\"../services/snackbar\":52,\"../utils/banned-page\":55,\"./button\":4,\"./form\":6,\"react\":\"react\"}],15:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Snackbar = undefined;\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/* jshint ignore:start */\nvar TYPES_CLASSES = {\n  'info': 'alert-info',\n  'success': 'alert-success',\n  'warning': 'alert-warning',\n  'error': 'alert-danger'\n};\n/* jshint ignore:end */\n\nvar Snackbar = exports.Snackbar = (function (_React$Component) {\n  _inherits(Snackbar, _React$Component);\n\n  function Snackbar() {\n    _classCallCheck(this, Snackbar);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(Snackbar).apply(this, arguments));\n  }\n\n  _createClass(Snackbar, [{\n    key: 'getSnackbarClass',\n    value: function getSnackbarClass() {\n      var snackbarClass = 'alerts-snackbar';\n      if (this.props.isVisible) {\n        snackbarClass += ' in';\n      } else {\n        snackbarClass += ' out';\n      }\n      return snackbarClass;\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: this.getSnackbarClass() },\n        _react2.default.createElement(\n          'p',\n          { className: 'alert ' + TYPES_CLASSES[this.props.type] },\n          this.props.message\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return Snackbar;\n})(_react2.default.Component);\n\nfunction select(state) {\n  return state.snackbar;\n}\n\n},{\"react\":\"react\"}],16:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CompactGuestNav = exports.GuestNav = exports.GuestMenu = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _registerButton = require('../register-button');\n\nvar _registerButton2 = _interopRequireDefault(_registerButton);\n\nvar _signIn = require('../sign-in.js');\n\nvar _signIn2 = _interopRequireDefault(_signIn);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nvar _modal = require('../../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar GuestMenu = exports.GuestMenu = (function (_React$Component) {\n  _inherits(GuestMenu, _React$Component);\n\n  function GuestMenu() {\n    _classCallCheck(this, GuestMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(GuestMenu).apply(this, arguments));\n  }\n\n  _createClass(GuestMenu, [{\n    key: 'showSignInModal',\n    value: function showSignInModal() {\n      _modal2.default.show(_signIn2.default);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'ul',\n        { className: 'dropdown-menu user-dropdown dropdown-menu-right',\n          role: 'menu' },\n        _react2.default.createElement(\n          'li',\n          { className: 'guest-preview' },\n          _react2.default.createElement(\n            'h4',\n            null,\n            gettext(\"You are browsing as guest.\")\n          ),\n          _react2.default.createElement(\n            'p',\n            null,\n            gettext('Sign in or register to start and participate in discussions.')\n          ),\n          _react2.default.createElement(\n            'div',\n            { className: 'row' },\n            _react2.default.createElement(\n              'div',\n              { className: 'col-xs-6' },\n              _react2.default.createElement(\n                'button',\n                { type: 'button', className: 'btn btn-default btn-block',\n                  onClick: this.showSignInModal },\n                gettext(\"Sign in\")\n              )\n            ),\n            _react2.default.createElement(\n              'div',\n              { className: 'col-xs-6' },\n              _react2.default.createElement(\n                _registerButton2.default,\n                { className: 'btn-primary btn-block' },\n                gettext(\"Register\")\n              )\n            )\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return GuestMenu;\n})(_react2.default.Component);\n\nvar GuestNav = exports.GuestNav = (function (_GuestMenu) {\n  _inherits(GuestNav, _GuestMenu);\n\n  function GuestNav() {\n    _classCallCheck(this, GuestNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(GuestNav).apply(this, arguments));\n  }\n\n  _createClass(GuestNav, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'div',\n        { className: 'nav nav-guest' },\n        _react2.default.createElement(\n          'button',\n          { type: 'button', className: 'btn navbar-btn btn-default',\n            onClick: this.showSignInModal },\n          gettext(\"Sign in\")\n        ),\n        _react2.default.createElement(\n          _registerButton2.default,\n          { className: 'navbar-btn btn-primary' },\n          gettext(\"Register\")\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return GuestNav;\n})(GuestMenu);\n\nvar CompactGuestNav = exports.CompactGuestNav = (function (_React$Component2) {\n  _inherits(CompactGuestNav, _React$Component2);\n\n  function CompactGuestNav() {\n    _classCallCheck(this, CompactGuestNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(CompactGuestNav).apply(this, arguments));\n  }\n\n  _createClass(CompactGuestNav, [{\n    key: 'showGuestMenu',\n    value: function showGuestMenu() {\n      _mobileNavbarDropdown2.default.show(GuestMenu);\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: 'button', onClick: this.showGuestMenu },\n        _react2.default.createElement(_avatar2.default, { size: '64' })\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return CompactGuestNav;\n})(_react2.default.Component);\n\n},{\"../../services/mobile-navbar-dropdown\":50,\"../../services/modal\":51,\"../avatar\":2,\"../register-button\":9,\"../sign-in.js\":14,\"react\":\"react\"}],17:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CompactUserMenu = exports.UserMenu = undefined;\nexports.select = select;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _guestNav = require('./guest-nav');\n\nvar _userNav = require('./user-nav');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n\n// jshint ignore:line\n\nvar UserMenu = exports.UserMenu = (function (_React$Component) {\n  _inherits(UserMenu, _React$Component);\n\n  function UserMenu() {\n    _classCallCheck(this, UserMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(UserMenu).apply(this, arguments));\n  }\n\n  _createClass(UserMenu, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.props.isAuthenticated) {\n        return _react2.default.createElement(_userNav.UserNav, { user: this.props.user });\n      } else {\n        return _react2.default.createElement(_guestNav.GuestNav, null);\n      }\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return UserMenu;\n})(_react2.default.Component);\n\nvar CompactUserMenu = exports.CompactUserMenu = (function (_React$Component2) {\n  _inherits(CompactUserMenu, _React$Component2);\n\n  function CompactUserMenu() {\n    _classCallCheck(this, CompactUserMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(CompactUserMenu).apply(this, arguments));\n  }\n\n  _createClass(CompactUserMenu, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      if (this.props.isAuthenticated) {\n        return _react2.default.createElement(_userNav.CompactUserNav, { user: this.props.user });\n      } else {\n        return _react2.default.createElement(_guestNav.CompactGuestNav, null);\n      }\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return CompactUserMenu;\n})(_react2.default.Component);\n\nfunction select(state) {\n  return state.auth;\n}\n\n},{\"./guest-nav\":16,\"./user-nav\":18,\"react\":\"react\"}],18:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.CompactUserNav = exports.UserNav = exports.UserMenu = undefined;\nexports.selectUserMenu = selectUserMenu;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactRedux = require('react-redux');\n\nvar _avatar = require('../avatar');\n\nvar _avatar2 = _interopRequireDefault(_avatar);\n\nvar _index = require('../../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mobileNavbarDropdown = require('../../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } // jshint ignore:line\n// jshint ignore:line\n\nvar UserMenu = exports.UserMenu = (function (_React$Component) {\n  _inherits(UserMenu, _React$Component);\n\n  function UserMenu() {\n    _classCallCheck(this, UserMenu);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(UserMenu).apply(this, arguments));\n  }\n\n  _createClass(UserMenu, [{\n    key: 'logout',\n    value: function logout() {\n      var decision = confirm(gettext(\"Are you sure you want to sign out?\"));\n      if (decision) {\n        $('#hidden-logout-form').submit();\n      }\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'ul',\n        { className: 'dropdown-menu user-dropdown dropdown-menu-right',\n          role: 'menu' },\n        _react2.default.createElement(\n          'li',\n          { className: 'dropdown-header' },\n          _react2.default.createElement(\n            'strong',\n            null,\n            this.props.user.username\n          )\n        ),\n        _react2.default.createElement('li', { className: 'divider' }),\n        _react2.default.createElement(\n          'li',\n          null,\n          _react2.default.createElement(\n            'a',\n            { href: this.props.user.absolute_url },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'account_circle'\n            ),\n            gettext(\"See your profile\")\n          )\n        ),\n        _react2.default.createElement(\n          'li',\n          null,\n          _react2.default.createElement(\n            'a',\n            { href: _index2.default.get('USERCP_URL') },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'done_all'\n            ),\n            gettext(\"Change options\")\n          )\n        ),\n        _react2.default.createElement(\n          'li',\n          null,\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn-link' },\n            _react2.default.createElement(\n              'span',\n              { className: 'material-icon' },\n              'face'\n            ),\n            gettext(\"Change avatar\")\n          )\n        ),\n        _react2.default.createElement('li', { className: 'divider' }),\n        _react2.default.createElement(\n          'li',\n          { className: 'dropdown-footer' },\n          _react2.default.createElement(\n            'button',\n            { type: 'button', className: 'btn btn-default btn-block',\n              onClick: this.logout },\n            gettext(\"Log out\")\n          )\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return UserMenu;\n})(_react2.default.Component);\n\nvar UserNav = exports.UserNav = (function (_React$Component2) {\n  _inherits(UserNav, _React$Component2);\n\n  function UserNav() {\n    _classCallCheck(this, UserNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(UserNav).apply(this, arguments));\n  }\n\n  _createClass(UserNav, [{\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'ul',\n        { className: 'ul nav navbar-nav nav-user' },\n        _react2.default.createElement(\n          'li',\n          { className: 'dropdown' },\n          _react2.default.createElement(\n            'a',\n            { href: this.props.user.absolute_url, className: 'dropdown-toggle',\n              'data-toggle': 'dropdown', 'aria-haspopup': 'true', 'aria-expanded': 'false',\n              role: 'button' },\n            _react2.default.createElement(_avatar2.default, { user: this.props.user, size: '64' })\n          ),\n          _react2.default.createElement(UserMenu, { user: this.props.user })\n        )\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return UserNav;\n})(_react2.default.Component);\n\nfunction selectUserMenu(store) {\n  return { user: store.auth.user };\n}\n\nvar CompactUserNav = exports.CompactUserNav = (function (_React$Component3) {\n  _inherits(CompactUserNav, _React$Component3);\n\n  function CompactUserNav() {\n    _classCallCheck(this, CompactUserNav);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(CompactUserNav).apply(this, arguments));\n  }\n\n  _createClass(CompactUserNav, [{\n    key: 'showUserMenu',\n    value: function showUserMenu() {\n      _mobileNavbarDropdown2.default.showConnected('user-menu', (0, _reactRedux.connect)(selectUserMenu)(UserMenu));\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement(\n        'button',\n        { type: 'button', onClick: this.showUserMenu },\n        _react2.default.createElement(_avatar2.default, { user: this.props.user, size: '64' })\n      );\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return CompactUserNav;\n})(_react2.default.Component);\n\n},{\"../../index\":19,\"../../services/mobile-navbar-dropdown\":50,\"../avatar\":2,\"react\":\"react\",\"react-redux\":\"react-redux\"}],19:[function(require,module,exports){\n(function (global){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Misago = undefined;\n\nvar _orderedList = require('./utils/ordered-list');\n\nvar _orderedList2 = _interopRequireDefault(_orderedList);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Misago = exports.Misago = (function () {\n  function Misago() {\n    _classCallCheck(this, Misago);\n\n    this._initializers = [];\n    this._context = {};\n  }\n\n  _createClass(Misago, [{\n    key: 'addInitializer',\n    value: function addInitializer(initializer) {\n      this._initializers.push({\n        key: initializer.name,\n\n        item: initializer.initializer,\n\n        after: initializer.after,\n        before: initializer.before\n      });\n    }\n  }, {\n    key: 'init',\n    value: function init(context) {\n      var _this = this;\n\n      this._context = context;\n\n      var initOrder = new _orderedList2.default(this._initializers).orderedValues();\n      initOrder.forEach(function (initializer) {\n        initializer(_this);\n      });\n    }\n\n    // context accessors\n\n  }, {\n    key: 'has',\n    value: function has(key) {\n      return this._context.hasOwnProperty(key);\n    }\n  }, {\n    key: 'get',\n    value: function get(key, fallback) {\n      if (this.has(key)) {\n        return this._context[key];\n      } else {\n        return fallback || undefined;\n      }\n    }\n  }]);\n\n  return Misago;\n})();\n\n// create  singleton\n\nvar misago = new Misago();\n\n// expose it globally\nglobal.misago = misago;\n\n// and export it for tests and stuff\nexports.default = misago;\n\n}).call(this,typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {})\n},{\"./utils/ordered-list\":57}],20:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _ajax2.default.init(_index2.default.get('CSRF_COOKIE_NAME'));\n}\n\n_index2.default.addInitializer({\n  name: 'ajax',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/ajax\":45}],21:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _authMessage = require('../components/auth-message');\n\nvar _authMessage2 = _interopRequireDefault(_authMessage);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_authMessage.select)(_authMessage2.default), 'auth-message-mount');\n}\n\n_index2.default.addInitializer({\n  name: 'component:auth-message',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/auth-message\":1,\"../index\":19,\"../utils/mount-component\":56,\"react-redux\":\"react-redux\"}],22:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../reducers/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  _store2.default.addReducer('auth', _auth2.default, Object.assign({\n    'isAuthenticated': context.get('isAuthenticated'),\n    'isAnonymous': !context.get('isAuthenticated'),\n\n    'user': context.get('user')\n  }, _auth.initialState));\n}\n\n_index2.default.addInitializer({\n  name: 'reducer:auth',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../reducers/auth\":42,\"../services/store\":53}],23:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _auth = require('../services/auth');\n\nvar _auth2 = _interopRequireDefault(_auth);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _auth2.default.init(_store2.default, _localStorage2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'auth',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../services/auth\":46,\"../services/local-storage\":49,\"../services/store\":53}],24:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _bannedPage = require('../utils/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  if (context.get('BAN_MESSAGE')) {\n    (0, _bannedPage2.default)(context.get('BAN_MESSAGE'), false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:baned-page',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../utils/banned-page\":55}],25:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _ajax = require('../services/ajax');\n\nvar _ajax2 = _interopRequireDefault(_ajax);\n\nvar _captcha = require('../services/captcha');\n\nvar _captcha2 = _interopRequireDefault(_captcha);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  _captcha2.default.init(context, _ajax2.default, _include2.default, _snackbar2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'captcha',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/ajax\":45,\"../services/captcha\":47,\"../services/include\":48,\"../services/snackbar\":52}],26:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer(context) {\n  _include2.default.init(context.get('STATIC_URL'));\n}\n\n_index2.default.addInitializer({\n  name: 'include',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/include\":48}],27:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _localStorage = require('../services/local-storage');\n\nvar _localStorage2 = _interopRequireDefault(_localStorage);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _localStorage2.default.init('misago_');\n}\n\n_index2.default.addInitializer({\n  name: 'local-storage',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/local-storage\":49}],28:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _mobileNavbarDropdown = require('../services/mobile-navbar-dropdown');\n\nvar _mobileNavbarDropdown2 = _interopRequireDefault(_mobileNavbarDropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  var element = document.getElementById('mobile-navbar-dropdown-mount');\n  if (element) {\n    _mobileNavbarDropdown2.default.init(element);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'dropdown',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../services/mobile-navbar-dropdown\":50}],29:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _modal = require('../services/modal');\n\nvar _modal2 = _interopRequireDefault(_modal);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  var element = document.getElementById('modal-mount');\n  if (element) {\n    _modal2.default.init(element);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'modal',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../services/modal\":51}],30:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _moment2.default.locale($('html').attr('lang'));\n}\n\n_index2.default.addInitializer({\n  name: 'moment',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"moment\":\"moment\"}],31:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestActivationLink = require('../components/request-activation-link');\n\nvar _requestActivationLink2 = _interopRequireDefault(_requestActivationLink);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  if (document.getElementById('request-activation-link-mount')) {\n    (0, _mountComponent2.default)(_requestActivationLink2.default, 'request-activation-link-mount', false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:request-activation-link',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/request-activation-link\":11,\"../index\":19,\"../utils/mount-component\":56}],32:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _requestPasswordReset = require('../components/request-password-reset');\n\nvar _requestPasswordReset2 = _interopRequireDefault(_requestPasswordReset);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  if (document.getElementById('request-password-reset-mount')) {\n    (0, _mountComponent2.default)(_requestPasswordReset2.default, 'request-password-reset-mount', false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:request-password-reset',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/request-password-reset\":12,\"../index\":19,\"../utils/mount-component\":56}],33:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _resetPasswordForm = require('../components/reset-password-form');\n\nvar _resetPasswordForm2 = _interopRequireDefault(_resetPasswordForm);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  if (document.getElementById('reset-password-form-mount')) {\n    (0, _mountComponent2.default)(_resetPasswordForm2.default, 'reset-password-form-mount', false);\n  }\n}\n\n_index2.default.addInitializer({\n  name: 'component:reset-password-form',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/reset-password-form\":13,\"../index\":19,\"../utils/mount-component\":56}],34:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../components/snackbar');\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_snackbar.select)(_snackbar.Snackbar), 'snackbar-mount');\n}\n\n_index2.default.addInitializer({\n  name: 'component:snackbar',\n  initializer: initializer,\n  after: 'snackbar'\n});\n\n},{\"../components/snackbar\":15,\"../index\":19,\"../utils/mount-component\":56,\"react-redux\":\"react-redux\"}],35:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../reducers/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _store2.default.addReducer('snackbar', _snackbar2.default, _snackbar.initialState);\n}\n\n_index2.default.addInitializer({\n  name: 'reducer:snackbar',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../reducers/snackbar\":43,\"../services/store\":53}],36:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _snackbar = require('../services/snackbar');\n\nvar _snackbar2 = _interopRequireDefault(_snackbar);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _snackbar2.default.init(_store2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'snackbar',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../services/snackbar\":52,\"../services/store\":53}],37:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _store2.default.init();\n}\n\n_index2.default.addInitializer({\n  name: 'store',\n  initializer: initializer,\n  before: '_end'\n});\n\n},{\"../index\":19,\"../services/store\":53}],38:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../reducers/tick');\n\nvar _tick2 = _interopRequireDefault(_tick);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _store2.default.addReducer('tick', _tick2.default, _tick.initialState);\n}\n\n_index2.default.addInitializer({\n  name: 'reducer:tick',\n  initializer: initializer,\n  before: 'store'\n});\n\n},{\"../index\":19,\"../reducers/tick\":44,\"../services/store\":53}],39:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _tick = require('../reducers/tick');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar TICK_PERIOD = 50 * 1000; //do the tick every 50s\n\nfunction initializer() {\n  window.setInterval(function () {\n    _store2.default.dispatch((0, _tick.doTick)());\n  }, TICK_PERIOD);\n}\n\n_index2.default.addInitializer({\n  name: 'tick-start',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../index\":19,\"../reducers/tick\":44,\"../services/store\":53}],40:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _reactRedux = require('react-redux');\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _root = require('../components/user-menu/root');\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.UserMenu), 'user-menu-mount');\n  (0, _mountComponent2.default)((0, _reactRedux.connect)(_root.select)(_root.CompactUserMenu), 'user-menu-compact-mount');\n}\n\n_index2.default.addInitializer({\n  name: 'component:user-menu',\n  initializer: initializer,\n  after: 'store'\n});\n\n},{\"../components/user-menu/root\":17,\"../index\":19,\"../utils/mount-component\":56,\"react-redux\":\"react-redux\"}],41:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = initializer;\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _include = require('../services/include');\n\nvar _include2 = _interopRequireDefault(_include);\n\nvar _zxcvbn = require('../services/zxcvbn');\n\nvar _zxcvbn2 = _interopRequireDefault(_zxcvbn);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction initializer() {\n  _zxcvbn2.default.init(_include2.default);\n}\n\n_index2.default.addInitializer({\n  name: 'zxcvbn',\n  initializer: initializer\n});\n\n},{\"../index\":19,\"../services/include\":48,\"../services/zxcvbn\":54}],42:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.signIn = signIn;\nexports.signOut = signOut;\nexports.default = auth;\nvar initialState = exports.initialState = {\n  signedIn: false,\n  signedOut: false\n};\n\nvar SIGN_IN = exports.SIGN_IN = 'SIGN_IN';\nvar SIGN_OUT = exports.SIGN_OUT = 'SIGN_OUT';\n\nfunction signIn(user) {\n  return {\n    type: SIGN_IN,\n    user: user\n  };\n}\n\nfunction signOut() {\n  var soft = arguments.length <= 0 || arguments[0] === undefined ? false : arguments[0];\n\n  return {\n    type: SIGN_OUT,\n    soft: soft\n  };\n}\n\nfunction auth() {\n  var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n  var action = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n  switch (action.type) {\n    case SIGN_IN:\n      return Object.assign({}, state, {\n        signedIn: action.user\n      });\n\n    case SIGN_OUT:\n      return Object.assign({}, state, {\n        isAuthenticated: false,\n        isAnonymous: true,\n        signedOut: !action.soft\n      });\n\n    default:\n      return state;\n  }\n}\n\n},{}],43:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.showSnackbar = showSnackbar;\nexports.hideSnackbar = hideSnackbar;\nexports.default = snackbar;\nvar initialState = exports.initialState = {\n  type: 'info',\n  message: '',\n  isVisible: false\n};\n\nvar SHOW_SNACKBAR = exports.SHOW_SNACKBAR = 'SHOW_SNACKBAR';\nvar HIDE_SNACKBAR = exports.HIDE_SNACKBAR = 'HIDE_SNACKBAR';\n\nfunction showSnackbar(message, type) {\n  return {\n    type: SHOW_SNACKBAR,\n    message: message,\n    messageType: type\n  };\n}\n\nfunction hideSnackbar() {\n  return {\n    type: HIDE_SNACKBAR\n  };\n}\n\nfunction snackbar() {\n  var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n  var action = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n  if (action.type === SHOW_SNACKBAR) {\n    return {\n      type: action.messageType,\n      message: action.message,\n      isVisible: true\n    };\n  } else if (action.type === HIDE_SNACKBAR) {\n    return Object.assign({}, state, {\n      isVisible: false\n    });\n  } else {\n    return state;\n  }\n}\n\n},{}],44:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.doTick = doTick;\nexports.default = tick;\nvar initialState = exports.initialState = {\n  tick: 0\n};\n\nvar TICK = exports.TICK = 'TICK';\n\nfunction doTick() {\n  return {\n    type: TICK\n  };\n}\n\nfunction tick() {\n  var state = arguments.length <= 0 || arguments[0] === undefined ? initialState : arguments[0];\n  var action = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1];\n\n  if (action.type === TICK) {\n    return Object.assign({}, state, {\n      tick: state.tick + 1\n    });\n  } else {\n    return state;\n  }\n}\n\n},{}],45:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Ajax = exports.Ajax = (function () {\n  function Ajax() {\n    _classCallCheck(this, Ajax);\n\n    this._cookieName = null;\n    this._csrfToken = null;\n  }\n\n  _createClass(Ajax, [{\n    key: 'init',\n    value: function init(cookieName) {\n      this._cookieName = cookieName;\n      this._csrfToken = this.getCsrfToken();\n    }\n  }, {\n    key: 'getCsrfToken',\n    value: function getCsrfToken() {\n      if (document.cookie.indexOf(this._cookieName) !== -1) {\n        var cookieRegex = new RegExp(this._cookieName + '\\=([^;]*)');\n        var cookie = document.cookie.match(cookieRegex)[0];\n        return cookie ? cookie.split('=')[1] : null;\n      } else {\n        return null;\n      }\n    }\n  }, {\n    key: 'request',\n    value: function request(method, url, data) {\n      var self = this;\n      return new Promise(function (resolve, reject) {\n        var xhr = {\n          url: url,\n          method: method,\n          headers: {\n            'X-CSRFToken': self._csrfToken\n          },\n\n          data: data || {},\n          dataType: 'json',\n\n          success: function success(data) {\n            resolve(data);\n          },\n\n          error: function error(jqXHR) {\n            var rejection = jqXHR.responseJSON || {};\n\n            rejection.status = jqXHR.status;\n            rejection.statusText = jqXHR.statusText;\n\n            reject(rejection);\n          }\n        };\n\n        $.ajax(xhr);\n      });\n    }\n  }, {\n    key: 'get',\n    value: function get(url) {\n      return this.request('GET', url);\n    }\n  }, {\n    key: 'post',\n    value: function post(url, data) {\n      return this.request('POST', url, data);\n    }\n  }, {\n    key: 'patch',\n    value: function patch(url, data) {\n      return this.request('PATCH', url, data);\n    }\n  }, {\n    key: 'put',\n    value: function put(url, data) {\n      return this.request('PUT', url, data);\n    }\n  }, {\n    key: 'delete',\n    value: function _delete(url) {\n      return this.request('DELETE', url);\n    }\n  }]);\n\n  return Ajax;\n})();\n\nexports.default = new Ajax();\n\n},{}],46:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Auth = undefined;\n\nvar _auth = require('../reducers/auth');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar Auth = exports.Auth = (function () {\n  function Auth() {\n    _classCallCheck(this, Auth);\n  }\n\n  _createClass(Auth, [{\n    key: 'init',\n    value: function init(store, local) {\n      this._store = store;\n      this._local = local;\n\n      // tell other tabs what auth state is because we are most current with it\n      this.syncSession();\n\n      // listen for other tabs to tell us that state changed\n      this.watchState();\n    }\n  }, {\n    key: 'syncSession',\n    value: function syncSession() {\n      var state = this._store.getState().auth;\n      if (state.isAuthenticated) {\n        this._local.set('auth', {\n          isAuthenticated: true,\n          username: state.user.username\n        });\n      } else {\n        this._local.set('auth', {\n          isAuthenticated: false\n        });\n      }\n    }\n  }, {\n    key: 'watchState',\n    value: function watchState() {\n      var _this = this;\n\n      this._local.watch('auth', function (newState) {\n        if (newState.isAuthenticated) {\n          _this._store.dispatch((0, _auth.signIn)({\n            username: newState.username\n          }));\n        } else {\n          _this._store.dispatch((0, _auth.signOut)());\n        }\n      });\n    }\n  }, {\n    key: 'signIn',\n    value: function signIn(user) {\n      this._store.dispatch((0, _auth.signIn)(user));\n      this._local.set('auth', {\n        isAuthenticated: true,\n        username: user.username\n      });\n    }\n  }, {\n    key: 'signOut',\n    value: function signOut() {\n      this._store.dispatch((0, _auth.signOut)());\n      this._local.set('auth', {\n        isAuthenticated: false\n      });\n    }\n  }, {\n    key: 'softSignOut',\n    value: function softSignOut() {\n      this._store.dispatch((0, _auth.signOut)(true));\n      this._local.set('auth', {\n        isAuthenticated: false\n      });\n    }\n  }]);\n\n  return Auth;\n})();\n\nexports.default = new Auth();\n\n},{\"../reducers/auth\":42}],47:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })(); /* global grecaptcha */\n// jshint ignore:line\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Captcha = exports.ReCaptcha = exports.ReCaptchaComponent = exports.QACaptcha = exports.NoCaptcha = exports.BaseCaptcha = undefined;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _formGroup = require('../components/form-group');\n\nvar _formGroup2 = _interopRequireDefault(_formGroup);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// jshint ignore:line\n\nvar BaseCaptcha = exports.BaseCaptcha = (function () {\n  function BaseCaptcha() {\n    _classCallCheck(this, BaseCaptcha);\n  }\n\n  _createClass(BaseCaptcha, [{\n    key: 'init',\n    value: function init(context, ajax, include, snackbar) {\n      this._context = context;\n      this._ajax = ajax;\n      this._include = include;\n      this._snackbar = snackbar;\n    }\n  }]);\n\n  return BaseCaptcha;\n})();\n\nvar NoCaptcha = exports.NoCaptcha = (function (_BaseCaptcha) {\n  _inherits(NoCaptcha, _BaseCaptcha);\n\n  function NoCaptcha() {\n    _classCallCheck(this, NoCaptcha);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(NoCaptcha).apply(this, arguments));\n  }\n\n  _createClass(NoCaptcha, [{\n    key: 'load',\n    value: function load() {\n      return new Promise(function (resolve) {\n        // immediately resolve as we don't have anything to validate\n        resolve();\n      });\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return null;\n    }\n  }, {\n    key: 'component',\n    value: function component() {\n      return null;\n    }\n  }]);\n\n  return NoCaptcha;\n})(BaseCaptcha);\n\nvar QACaptcha = exports.QACaptcha = (function (_BaseCaptcha2) {\n  _inherits(QACaptcha, _BaseCaptcha2);\n\n  function QACaptcha() {\n    _classCallCheck(this, QACaptcha);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(QACaptcha).apply(this, arguments));\n  }\n\n  _createClass(QACaptcha, [{\n    key: 'load',\n    value: function load() {\n      var self = this;\n      return new Promise(function (resolve, reject) {\n        self._ajax.get(self._context.get('CAPTCHA_API_URL')).then(function (data) {\n          self.question = data.question;\n          self.helpText = data.help_text;\n          resolve();\n        }, function () {\n          self._snackbar.error(gettext(\"Failed to load CAPTCHA.\"));\n          reject();\n        });\n      });\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return [];\n    }\n\n    /* jshint ignore:start */\n\n  }, {\n    key: 'component',\n    value: function component(kwargs) {\n      return _react2.default.createElement(\n        _formGroup2.default,\n        { label: this.question, 'for': 'id_captcha',\n          labelClass: kwargs.labelClass || \"col-sm-4\",\n          controlClass: kwargs.controlClass || \"col-sm-8\",\n          validation: kwargs.form.state.errors.captcha,\n          helpText: this.helpText || null },\n        _react2.default.createElement('input', { type: 'text', id: 'id_captcha', className: 'form-control',\n          'aria-describedby': 'id_captcha_status',\n          disabled: kwargs.form.state.isLoading,\n          onChange: kwargs.form.bindInput('captcha'),\n          value: kwargs.form.state.captcha })\n      );\n    }\n    /* jshint ignore:end */\n\n  }]);\n\n  return QACaptcha;\n})(BaseCaptcha);\n\nvar ReCaptchaComponent = exports.ReCaptchaComponent = (function (_React$Component) {\n  _inherits(ReCaptchaComponent, _React$Component);\n\n  function ReCaptchaComponent() {\n    _classCallCheck(this, ReCaptchaComponent);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(ReCaptchaComponent).apply(this, arguments));\n  }\n\n  _createClass(ReCaptchaComponent, [{\n    key: 'componentDidMount',\n    value: function componentDidMount() {\n      var _this4 = this;\n\n      grecaptcha.render('recaptcha', {\n        'sitekey': this.props.siteKey,\n        'callback': function callback(response) {\n          // fire fakey event to binding\n          _this4.props.binding({\n            target: {\n              value: response\n            }\n          });\n        }\n      });\n    }\n  }, {\n    key: 'render',\n    value: function render() {\n      /* jshint ignore:start */\n      return _react2.default.createElement('div', { id: 'recaptcha' });\n      /* jshint ignore:end */\n    }\n  }]);\n\n  return ReCaptchaComponent;\n})(_react2.default.Component);\n\nvar ReCaptcha = exports.ReCaptcha = (function (_BaseCaptcha3) {\n  _inherits(ReCaptcha, _BaseCaptcha3);\n\n  function ReCaptcha() {\n    _classCallCheck(this, ReCaptcha);\n\n    return _possibleConstructorReturn(this, Object.getPrototypeOf(ReCaptcha).apply(this, arguments));\n  }\n\n  _createClass(ReCaptcha, [{\n    key: 'load',\n    value: function load() {\n      this._include.include('https://www.google.com/recaptcha/api.js', true);\n\n      return new Promise(function (resolve) {\n        var wait = function wait() {\n          if (typeof grecaptcha === \"undefined\") {\n            window.setTimeout(function () {\n              wait();\n            }, 200);\n          } else {\n            resolve();\n          }\n        };\n        wait();\n      });\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return [];\n    }\n\n    /* jshint ignore:start */\n\n  }, {\n    key: 'component',\n    value: function component(kwargs) {\n      return _react2.default.createElement(\n        _formGroup2.default,\n        { label: gettext(\"Captcha\"), 'for': 'id_captcha',\n          labelClass: kwargs.labelClass || \"col-sm-4\",\n          controlClass: kwargs.controlClass || \"col-sm-8\",\n          validation: kwargs.form.state.errors.captcha,\n          helpText: gettext(\"Please solve the quick test.\") },\n        _react2.default.createElement(ReCaptchaComponent, { siteKey: this._context.get('SETTINGS').recaptcha_site_key,\n          binding: kwargs.form.bindInput('captcha') })\n      );\n    }\n    /* jshint ignore:end */\n\n  }]);\n\n  return ReCaptcha;\n})(BaseCaptcha);\n\nvar Captcha = exports.Captcha = (function () {\n  function Captcha() {\n    _classCallCheck(this, Captcha);\n  }\n\n  _createClass(Captcha, [{\n    key: 'init',\n    value: function init(context, ajax, include, snackbar) {\n      switch (context.get('SETTINGS').captcha_type) {\n        case 'no':\n          this._captcha = new NoCaptcha();\n          break;\n\n        case 'qa':\n          this._captcha = new QACaptcha();\n          break;\n\n        case 're':\n          this._captcha = new ReCaptcha();\n          break;\n      }\n\n      this._captcha.init(context, ajax, include, snackbar);\n    }\n\n    // accessors for underlying strategy\n\n  }, {\n    key: 'load',\n    value: function load() {\n      return this._captcha.load();\n    }\n  }, {\n    key: 'validator',\n    value: function validator() {\n      return this._captcha.validator();\n    }\n  }, {\n    key: 'component',\n    value: function component(kwargs) {\n      return this._captcha.component(kwargs);\n    }\n  }]);\n\n  return Captcha;\n})();\n\nexports.default = new Captcha();\n\n},{\"../components/form-group\":5,\"react\":\"react\"}],48:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Include = exports.Include = (function () {\n  function Include() {\n    _classCallCheck(this, Include);\n  }\n\n  _createClass(Include, [{\n    key: 'init',\n    value: function init(staticUrl) {\n      this._staticUrl = staticUrl;\n      this._included = [];\n    }\n  }, {\n    key: 'include',\n    value: function include(script) {\n      var remote = arguments.length <= 1 || arguments[1] === undefined ? false : arguments[1];\n\n      if (this._included.indexOf(script) === -1) {\n        this._included.push(script);\n        this._include(script, remote);\n      }\n    }\n  }, {\n    key: '_include',\n    value: function _include(script, remote) {\n      $.ajax({\n        url: (!remote ? this._staticUrl : '') + script,\n        cache: true,\n        dataType: 'script'\n      });\n    }\n  }]);\n\n  return Include;\n})();\n\nexports.default = new Include();\n\n},{}],49:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar storage = window.localStorage;\n\nvar LocalStorage = exports.LocalStorage = (function () {\n  function LocalStorage() {\n    _classCallCheck(this, LocalStorage);\n  }\n\n  _createClass(LocalStorage, [{\n    key: 'init',\n    value: function init(prefix) {\n      var _this = this;\n\n      this._prefix = prefix;\n      this._watchers = [];\n\n      window.addEventListener('storage', function (e) {\n        var newValueJson = JSON.parse(e.newValue);\n        _this._watchers.forEach(function (watcher) {\n          if (watcher.key === e.key && e.oldValue !== e.newValue) {\n            watcher.callback(newValueJson);\n          }\n        });\n      });\n    }\n  }, {\n    key: 'set',\n    value: function set(key, value) {\n      storage.setItem(this._prefix + key, JSON.stringify(value));\n    }\n  }, {\n    key: 'get',\n    value: function get(key) {\n      var itemString = storage.getItem(this._prefix + key);\n      if (itemString) {\n        return JSON.parse(itemString);\n      } else {\n        return null;\n      }\n    }\n  }, {\n    key: 'watch',\n    value: function watch(key, callback) {\n      this._watchers.push({\n        key: this._prefix + key,\n        callback: callback\n      });\n    }\n  }]);\n\n  return LocalStorage;\n})();\n\nexports.default = new LocalStorage();\n\n},{}],50:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.MobileNavbarDropdown = undefined;\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar MobileNavbarDropdown = exports.MobileNavbarDropdown = (function () {\n  function MobileNavbarDropdown() {\n    _classCallCheck(this, MobileNavbarDropdown);\n  }\n\n  _createClass(MobileNavbarDropdown, [{\n    key: 'init',\n    value: function init(element) {\n      this._element = element;\n      this._component = null;\n    }\n  }, {\n    key: 'show',\n    value: function show(component) {\n      if (this._component === component) {\n        this.hide();\n      } else {\n        this._component = component;\n        (0, _mountComponent2.default)(component, this._element.id);\n        $(this._element).addClass('open');\n      }\n    }\n  }, {\n    key: 'showConnected',\n    value: function showConnected(name, component) {\n      if (this._component === name) {\n        this.hide();\n      } else {\n        this._component = name;\n        (0, _mountComponent2.default)(component, this._element.id, true);\n        $(this._element).addClass('open');\n      }\n    }\n  }, {\n    key: 'hide',\n    value: function hide() {\n      $(this._element).removeClass('open');\n      this._component = null;\n    }\n  }]);\n\n  return MobileNavbarDropdown;\n})();\n\nexports.default = new MobileNavbarDropdown();\n\n},{\"../utils/mount-component\":56}],51:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Modal = undefined;\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _mountComponent = require('../utils/mount-component');\n\nvar _mountComponent2 = _interopRequireDefault(_mountComponent);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Modal = exports.Modal = (function () {\n  function Modal() {\n    _classCallCheck(this, Modal);\n  }\n\n  _createClass(Modal, [{\n    key: 'init',\n    value: function init(element) {\n      var _this = this;\n\n      this._element = element;\n\n      this._modal = $(element).modal({ show: false });\n\n      this._modal.on('hidden.bs.modal', function () {\n        _reactDom2.default.unmountComponentAtNode(_this._element);\n      });\n    }\n  }, {\n    key: 'show',\n    value: function show(component) {\n      (0, _mountComponent2.default)(component, this._element.id);\n      this._modal.modal('show');\n    }\n  }, {\n    key: 'hide',\n    value: function hide() {\n      this._modal.modal('hide');\n    }\n  }]);\n\n  return Modal;\n})();\n\nexports.default = new Modal();\n\n},{\"../utils/mount-component\":56,\"react-dom\":\"react-dom\"}],52:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.Snackbar = undefined;\n\nvar _snackbar = require('../reducers/snackbar');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar HIDE_ANIMATION_LENGTH = 300;\nvar MESSAGE_SHOW_LENGTH = 5000;\n\nvar Snackbar = exports.Snackbar = (function () {\n  function Snackbar() {\n    _classCallCheck(this, Snackbar);\n  }\n\n  _createClass(Snackbar, [{\n    key: 'init',\n    value: function init(store) {\n      this._store = store;\n      this._timeout = null;\n    }\n  }, {\n    key: 'alert',\n    value: function alert(message, type) {\n      var _this = this;\n\n      if (this._timeout) {\n        window.clearTimeout(this._timeout);\n        this._store.dispatch((0, _snackbar.hideSnackbar)());\n\n        this._timeout = window.setTimeout(function () {\n          _this._timeout = null;\n          _this.alert(message, type);\n        }, HIDE_ANIMATION_LENGTH);\n      } else {\n        this._store.dispatch((0, _snackbar.showSnackbar)(message, type));\n        this._timeout = window.setTimeout(function () {\n          _this._store.dispatch((0, _snackbar.hideSnackbar)());\n          _this._timeout = null;\n        }, MESSAGE_SHOW_LENGTH);\n      }\n    }\n\n    // shorthands for message types\n\n  }, {\n    key: 'info',\n    value: function info(message) {\n      this.alert(message, 'info');\n    }\n  }, {\n    key: 'success',\n    value: function success(message) {\n      this.alert(message, 'success');\n    }\n  }, {\n    key: 'warning',\n    value: function warning(message) {\n      this.alert(message, 'warning');\n    }\n  }, {\n    key: 'error',\n    value: function error(message) {\n      this.alert(message, 'error');\n    }\n\n    // shorthand for api errors\n\n  }, {\n    key: 'apiError',\n    value: function apiError(rejection) {\n      var message = gettext(\"Unknown error has occured.\");\n\n      if (rejection.status === 0) {\n        message = gettext(\"Lost connection with application.\");\n      }\n\n      if (rejection.status === 400 && rejection.detail) {\n        message = rejection.detail;\n      }\n\n      if (rejection.status === 403) {\n        message = rejection.detail;\n        if (message === \"Permission denied\") {\n          message = gettext(\"You don't have permission to perform this action.\");\n        }\n      }\n\n      if (rejection.status === 404) {\n        message = gettext(\"Action link is invalid.\");\n      }\n\n      this.error(message);\n    }\n  }]);\n\n  return Snackbar;\n})();\n\nexports.default = new Snackbar();\n\n},{\"../reducers/snackbar\":43}],53:[function(require,module,exports){\n'use strict';\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.StoreWrapper = undefined;\n\nvar _redux = require('redux');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar StoreWrapper = exports.StoreWrapper = (function () {\n  function StoreWrapper() {\n    _classCallCheck(this, StoreWrapper);\n\n    this._store = null;\n    this._reducers = {};\n    this._initialState = {};\n  }\n\n  _createClass(StoreWrapper, [{\n    key: 'addReducer',\n    value: function addReducer(name, reducer, initialState) {\n      this._reducers[name] = reducer;\n      this._initialState[name] = initialState;\n    }\n  }, {\n    key: 'init',\n    value: function init() {\n      this._store = (0, _redux.createStore)((0, _redux.combineReducers)(this._reducers), this._initialState);\n    }\n  }, {\n    key: 'getStore',\n    value: function getStore() {\n      return this._store;\n    }\n\n    // Store API\n\n  }, {\n    key: 'getState',\n    value: function getState() {\n      return this._store.getState();\n    }\n  }, {\n    key: 'dispatch',\n    value: function dispatch(action) {\n      return this._store.dispatch(action);\n    }\n  }]);\n\n  return StoreWrapper;\n})();\n\nexports.default = new StoreWrapper();\n\n},{\"redux\":\"redux\"}],54:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/* global zxcvbn */\n\nvar Zxcvbn = exports.Zxcvbn = (function () {\n  function Zxcvbn() {\n    _classCallCheck(this, Zxcvbn);\n  }\n\n  _createClass(Zxcvbn, [{\n    key: \"init\",\n    value: function init(include) {\n      this._include = include;\n    }\n  }, {\n    key: \"scorePassword\",\n    value: function scorePassword(password, inputs) {\n      // 0-4 score, the more the stronger password\n      return zxcvbn(password, inputs).score;\n    }\n  }, {\n    key: \"load\",\n    value: function load() {\n      if (typeof zxcvbn === \"undefined\") {\n        this._include.include('misago/js/zxcvbn.js');\n        return this._loadingPromise();\n      } else {\n        return this._loadedPromise();\n      }\n    }\n  }, {\n    key: \"_loadingPromise\",\n    value: function _loadingPromise() {\n      return new Promise(function (resolve) {\n        var wait = function wait() {\n          if (typeof zxcvbn === \"undefined\") {\n            window.setTimeout(function () {\n              wait();\n            }, 200);\n          } else {\n            resolve();\n          }\n        };\n        wait();\n      });\n    }\n  }, {\n    key: \"_loadedPromise\",\n    value: function _loadedPromise() {\n      // we have already loaded zxcvbn.js, resolve away!\n      return new Promise(function (resolve) {\n        resolve();\n      });\n    }\n  }]);\n\n  return Zxcvbn;\n})();\n\nexports.default = new Zxcvbn();\n\n},{}],55:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nexports.default = function (ban, changeState) {\n  _reactDom2.default.render(\n  /* jshint ignore:start */\n  _react2.default.createElement(\n    _reactRedux.Provider,\n    { store: _store2.default.getStore() },\n    _react2.default.createElement(RedrawedBannedPage, { message: ban.message,\n      expires: ban.expires_on ? (0, _moment2.default)(ban.expires_on) : null })\n  ),\n  /* jshint ignore:end */\n  document.getElementById('page-mount'));\n\n  if (typeof changeState === 'undefined' || changeState) {\n    var forumName = _index2.default.get('SETTINGS').forum_name;\n    document.title = gettext(\"You are banned\") + ' | ' + forumName;\n    window.history.pushState({}, \"\", _index2.default.get('BANNED_URL'));\n  }\n};\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _bannedPage = require('../components/banned-page');\n\nvar _bannedPage2 = _interopRequireDefault(_bannedPage);\n\nvar _index = require('../index');\n\nvar _index2 = _interopRequireDefault(_index);\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\n/* jshint ignore:start */\n// jshint ignore:line\n// jshint ignore:line\nvar select = function select(state) {\n  return state.tick;\n}; // jshint ignore:line\n// jshint ignore:line\n\nvar RedrawedBannedPage = (0, _reactRedux.connect)(select)(_bannedPage2.default);\n/* jshint ignore:end */\n\n},{\"../components/banned-page\":3,\"../index\":19,\"../services/store\":53,\"moment\":\"moment\",\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],56:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.default = mount;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _reactDom = require('react-dom');\n\nvar _reactDom2 = _interopRequireDefault(_reactDom);\n\nvar _reactRedux = require('react-redux');\n\nvar _store = require('../services/store');\n\nvar _store2 = _interopRequireDefault(_store);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n// jshint ignore:line\n\nfunction mount(Component, rootElementId) {\n  var connected = arguments.length <= 2 || arguments[2] === undefined ? true : arguments[2];\n\n  var rootElement = document.getElementById(rootElementId);\n\n  if (rootElement) {\n    if (connected) {\n      _reactDom2.default.render(\n      /* jshint ignore:start */\n      _react2.default.createElement(\n        _reactRedux.Provider,\n        { store: _store2.default.getStore() },\n        _react2.default.createElement(Component, null)\n      ),\n      /* jshint ignore:end */\n      rootElement);\n    } else {\n      _reactDom2.default.render(\n      /* jshint ignore:start */\n      _react2.default.createElement(Component, null),\n      /* jshint ignore:end */\n      rootElement);\n    }\n  }\n} // jshint ignore:line\n// jshint ignore:line\n\n},{\"../services/store\":53,\"react\":\"react\",\"react-dom\":\"react-dom\",\"react-redux\":\"react-redux\"}],57:[function(require,module,exports){\n\"use strict\";\n\nvar _createClass = (function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; })();\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar OrderedList = (function () {\n  function OrderedList(items) {\n    _classCallCheck(this, OrderedList);\n\n    this.isOrdered = false;\n    this._items = items || [];\n  }\n\n  _createClass(OrderedList, [{\n    key: \"add\",\n    value: function add(key, item, order) {\n      this._items.push({\n        key: key,\n        item: item,\n\n        after: order ? order.after || null : null,\n        before: order ? order.before || null : null\n      });\n    }\n  }, {\n    key: \"get\",\n    value: function get(key, value) {\n      for (var i = 0; i < this._items.length; i++) {\n        if (this._items[i].key === key) {\n          return this._items[i].item;\n        }\n      }\n\n      return value;\n    }\n  }, {\n    key: \"has\",\n    value: function has(key) {\n      return this.get(key) !== undefined;\n    }\n  }, {\n    key: \"values\",\n    value: function values() {\n      var values = [];\n      for (var i = 0; i < this._items.length; i++) {\n        values.push(this._items[i].item);\n      }\n      return values;\n    }\n  }, {\n    key: \"order\",\n    value: function order(values_only) {\n      if (!this.isOrdered) {\n        this._items = this._order(this._items);\n        this.isOrdered = true;\n      }\n\n      if (values_only || typeof values_only === 'undefined') {\n        return this.values();\n      } else {\n        return this._items;\n      }\n    }\n  }, {\n    key: \"orderedValues\",\n    value: function orderedValues() {\n      return this.order(true);\n    }\n  }, {\n    key: \"_order\",\n    value: function _order(unordered) {\n      // Index of unordered items\n      var index = [];\n      unordered.forEach(function (item) {\n        index.push(item.key);\n      });\n\n      // Ordered items\n      var ordered = [];\n      var ordering = [];\n\n      // First pass: register items that\n      // don't specify their order\n      unordered.forEach(function (item) {\n        if (!item.after && !item.before) {\n          ordered.push(item);\n          ordering.push(item.key);\n        }\n      });\n\n      // Second pass: register items that\n      // specify their before to \"_end\"\n      unordered.forEach(function (item) {\n        if (item.before === \"_end\") {\n          ordered.push(item);\n          ordering.push(item.key);\n        }\n      });\n\n      // Third pass: keep iterating items\n      // until we hit iterations limit or finish\n      // ordering list\n      function insertItem(item) {\n        var insertAt = -1;\n        if (ordering.indexOf(item.key) === -1) {\n          if (item.after) {\n            insertAt = ordering.indexOf(item.after);\n            if (insertAt !== -1) {\n              insertAt += 1;\n            }\n          } else if (item.before) {\n            insertAt = ordering.indexOf(item.before);\n          }\n\n          if (insertAt !== -1) {\n            ordered.splice(insertAt, 0, item);\n            ordering.splice(insertAt, 0, item.key);\n          }\n        }\n      }\n\n      var iterations = 200;\n      while (iterations > 0 && index.length !== ordering.length) {\n        iterations -= 1;\n        unordered.forEach(insertItem);\n      }\n\n      return ordered;\n    }\n  }]);\n\n  return OrderedList;\n})();\n\nexports.default = OrderedList;\n\n},{}],58:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.required = required;\nexports.email = email;\nexports.minLength = minLength;\nexports.maxLength = maxLength;\nexports.usernameMinLength = usernameMinLength;\nexports.usernameMaxLength = usernameMaxLength;\nexports.usernameContent = usernameContent;\nexports.passwordMinLength = passwordMinLength;\nvar EMAIL = /^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i;\nvar USERNAME = new RegExp('^[0-9a-z]+$', 'i');\n\nfunction required() {\n  return function (value) {\n    if ($.trim(value).length === 0) {\n      return gettext(\"This field is required.\");\n    }\n  };\n}\n\nfunction email(message) {\n  return function (value) {\n    if (!EMAIL.test(value)) {\n      return message || gettext(\"Enter a valid email address.\");\n    }\n  };\n}\n\nfunction minLength(limitValue, message) {\n  return function (value) {\n    var returnMessage = '';\n    var length = $.trim(value).length;\n\n    if (length < limitValue) {\n      if (message) {\n        returnMessage = message(limitValue, length);\n      } else {\n        returnMessage = ngettext(\"Ensure this value has at least %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at least %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n      }\n      return interpolate(returnMessage, {\n        limit_value: limitValue,\n        show_value: length\n      }, true);\n    }\n  };\n}\n\nfunction maxLength(limitValue, message) {\n  return function (value) {\n    var returnMessage = '';\n    var length = $.trim(value).length;\n\n    if (length > limitValue) {\n      if (message) {\n        returnMessage = message(limitValue, length);\n      } else {\n        returnMessage = ngettext(\"Ensure this value has at most %(limit_value)s character (it has %(show_value)s).\", \"Ensure this value has at most %(limit_value)s characters (it has %(show_value)s).\", limitValue);\n      }\n      return interpolate(returnMessage, {\n        limit_value: limitValue,\n        show_value: length\n      }, true);\n    }\n  };\n}\n\nfunction usernameMinLength(settings) {\n  var message = function message(limitValue) {\n    return ngettext(\"Username must be at least %(limit_value)s character long.\", \"Username must be at least %(limit_value)s characters long.\", limitValue);\n  };\n  return this.minLength(settings.username_length_min, message);\n}\n\nfunction usernameMaxLength(settings) {\n  var message = function message(limitValue) {\n    return ngettext(\"Username cannot be longer than %(limit_value)s character.\", \"Username cannot be longer than %(limit_value)s characters.\", limitValue);\n  };\n  return this.maxLength(settings.username_length_max, message);\n}\n\nfunction usernameContent() {\n  return function (value) {\n    if (!USERNAME.test($.trim(value))) {\n      return gettext(\"Username can only contain latin alphabet letters and digits.\");\n    }\n  };\n}\n\nfunction passwordMinLength(settings) {\n  var message = function message(limitValue) {\n    return ngettext(\"Valid password must be at least %(limit_value)s character long.\", \"Valid password must be at least %(limit_value)s characters long.\", limitValue);\n  };\n  return this.minLength(settings.password_length_min, message);\n}\n\n},{}]},{},[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41]);\n"],"sourceRoot":"/source/"}