From 3a7ba5dbb13b0328ae07af035784305fbea62888 Mon Sep 17 00:00:00 2001 From: Mark Felder Date: Thu, 15 Mar 2018 14:46:28 +0000 Subject: [PATCH] Set max characters for the compose field to 5000 to match pleroma default Of course you can't tell what the change is because the entire file is written on one line, so the nearly impossible to read. It's nice to be able to use 5000 chars from my computer and have access to CW feature as well. --- .../features/compose-4617f6e912b5bfa71c43.js | 4 ++-- .../compose-4617f6e912b5bfa71c43.js.gz | Bin 20458 -> 22637 bytes .../compose-4617f6e912b5bfa71c43.js.map | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js index f10bd9987..1fc0a9684 100644 --- a/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js +++ b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js @@ -1,2 +1,2 @@ -webpackJsonp([2],{261:function(e,t,n){"use strict";var o=n(2),a=n.n(o),i=n(0),s=(n.n(i),n(9)),r=n(153),c=n(69),l=n(15),u=n(43),d=n(22),p=n(57),g=n(151),f=n(31),h=n(6),m=n(18),v=Object(h.f)({deleteConfirm:{id:"confirmations.delete.confirm",defaultMessage:"Delete"},deleteMessage:{id:"confirmations.delete.message",defaultMessage:"Are you sure you want to delete this status?"},blockConfirm:{id:"confirmations.block.confirm",defaultMessage:"Block"},muteConfirm:{id:"confirmations.mute.confirm",defaultMessage:"Mute"}}),b=function(){var e=Object(c.e)();return function(t,n){return{status:e(t,n.id)}}},y=function(e,t){var n=t.intl;return{onReply:function(t,n){e(Object(l.O)(t,n))},onModalReblog:function(t){e(Object(u.q)(t))},onReblog:function(t,n){t.get("reblogged")?e(Object(u.t)(t)):n.shiftKey||!m.b?this.onModalReblog(t):e(Object(f.d)("BOOST",{status:t,onReblog:this.onModalReblog}))},onFavourite:function(t){e(t.get("favourited")?Object(u.r)(t):Object(u.m)(t))},onPin:function(t){e(t.get("pinned")?Object(u.s)(t):Object(u.p)(t))},onEmbed:function(t){e(Object(f.d)("EMBED",{url:t.get("url")}))},onDelete:function(t){e(m.d?Object(f.d)("CONFIRM",{message:n.formatMessage(v.deleteMessage),confirm:n.formatMessage(v.deleteConfirm),onConfirm:function(){return e(Object(p.e)(t.get("id")))}}):Object(p.e)(t.get("id")))},onMention:function(t,n){e(Object(l.M)(t,n))},onOpenMedia:function(t,n){e(Object(f.d)("MEDIA",{media:t,index:n}))},onOpenVideo:function(t,n){e(Object(f.d)("VIDEO",{media:t,time:n}))},onBlock:function(t){e(Object(f.d)("CONFIRM",{message:a()(h.b,{id:"confirmations.block.message",defaultMessage:"Are you sure you want to block {name}?",values:{name:a()("strong",{},void 0,"@",t.get("acct"))}}),confirm:n.formatMessage(v.blockConfirm),onConfirm:function(){return e(Object(d.r)(t.get("id")))}}))},onReport:function(t){e(Object(g.i)(t.get("account"),t))},onMute:function(t){e(Object(f.d)("CONFIRM",{message:a()(h.b,{id:"confirmations.mute.message",defaultMessage:"Are you sure you want to mute {name}?",values:{name:a()("strong",{},void 0,"@",t.get("acct"))}}),confirm:n.formatMessage(v.muteConfirm),onConfirm:function(){return e(Object(d.B)(t.get("id")))}}))},onMuteConversation:function(t){e(t.get("muted")?Object(p.h)(t.get("id")):Object(p.g)(t.get("id")))}}};t.a=Object(h.g)(Object(s.connect)(b,y)(r.a))},286:function(e,t,n){"use strict";n.d(t,"a",function(){return U});var o,a,i,s=n(2),r=n.n(s),c=n(1),l=n.n(c),u=n(3),d=n.n(u),p=n(4),g=n.n(p),f=n(0),h=n.n(f),m=n(287),v=n(101),b=n(12),y=n.n(b),_=n(5),k=n.n(_),w=n(288),C=n(290),j=n(295),x=n(6),M=n(297),O=n(298),S=n(300),N=n(302),D=n(303),z=n(305),R=n(311),F=n(33),I=n(11),T=n.n(I),E=n(100),P=(n.n(E),n(313)),q=Object(x.f)({placeholder:{id:"compose_form.placeholder",defaultMessage:"What is on your mind?"},spoiler_placeholder:{id:"compose_form.spoiler_placeholder",defaultMessage:"Write your warning here"},publish:{id:"compose_form.publish",defaultMessage:"Toot"},publishLoud:{id:"compose_form.publish_loud",defaultMessage:"{publish}!"}}),U=Object(x.g)((i=a=function(e){function t(){var n,o,a;l()(this,t);for(var i=arguments.length,s=Array(i),r=0;r500||0!==i.length&&0===i.trim().length,block:!0})))))},t}(T.a),a.propTypes={intl:k.a.object.isRequired,text:k.a.string.isRequired,suggestion_token:k.a.string,suggestions:y.a.list,spoiler:k.a.bool,privacy:k.a.string,spoiler_text:k.a.string,focusDate:k.a.instanceOf(Date),preselectDate:k.a.instanceOf(Date),is_submitting:k.a.bool,is_uploading:k.a.bool,onChange:k.a.func.isRequired,onSubmit:k.a.func.isRequired,onClearSuggestions:k.a.func.isRequired,onFetchSuggestions:k.a.func.isRequired,onSuggestionSelected:k.a.func.isRequired,onChangeSpoilerText:k.a.func.isRequired,onPaste:k.a.func.isRequired,onPickEmoji:k.a.func.isRequired,showSearch:k.a.bool},a.defaultProps={showSearch:!1},o=i))||o},287:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(2),a=n.n(o),i=n(1),s=n.n(i),r=n(3),c=n.n(r),l=n(4),u=n.n(l),d=n(0),p=n.n(d),g=n(100),f=(n.n(g),function(e){function t(){return s()(this,t),c()(this,e.apply(this,arguments))}return u()(t,e),t.prototype.checkRemainingText=function(e){return e<0?a()("span",{className:"character-counter character-counter--over"},void 0,e):a()("span",{className:"character-counter"},void 0,e)},t.prototype.render=function(){var e=this.props.max-Object(g.length)(this.props.text);return this.checkRemainingText(e)},t}(p.a.PureComponent))},288:function(e,t,n){"use strict";var o=n(9),a=n(15),i=n(69),s=n(289),r=function(){var e=Object(i.e)();return function(t){return{status:e(t,t.getIn(["compose","in_reply_to"]))}}},c=function(e){return{onCancel:function(){e(Object(a.B)())}}};t.a=Object(o.connect)(r,c)(s.a)},289:function(e,t,n){"use strict";n.d(t,"a",function(){return M});var o,a,i,s=n(2),r=n.n(s),c=n(1),l=n.n(c),u=n(3),d=n.n(u),p=n(4),g=n.n(p),f=n(0),h=(n.n(f),n(12)),m=n.n(h),v=n(5),b=n.n(v),y=n(55),_=n(19),k=n(56),w=n(6),C=n(11),j=n.n(C),x=Object(w.f)({cancel:{id:"reply_indicator.cancel",defaultMessage:"Cancel"}}),M=Object(w.g)((i=a=function(e){function t(){var n,o,a;l()(this,t);for(var i=arguments.length,s=Array(i),r=0;r0?[o+1,n]:[null,null])},N=(a=o=function(e){function t(){var n,o,a;u()(this,t);for(var i=arguments.length,r=Array(i),l=0;l0&&!r&&(e.preventDefault(),o.setState({selectedSuggestion:Math.min(s+1,n.size-1)}));break;case"ArrowUp":n.size>0&&!r&&(e.preventDefault(),o.setState({selectedSuggestion:Math.max(s-1,0)}));break;case"Enter":case"Tab":null!==o.state.lastToken&&n.size>0&&!r&&(e.preventDefault(),e.stopPropagation(),o.props.onSuggestionSelected(o.state.tokenStart,o.state.lastToken,n.get(s)))}!e.defaultPrevented&&o.props.onKeyDown&&o.props.onKeyDown(e)},o.onKeyUp=function(e){"Escape"===e.key&&o.state.suggestionsHidden&&document.querySelector(".ui").parentElement.focus(),o.props.onKeyUp&&o.props.onKeyUp(e)},o.onBlur=function(){o.setState({suggestionsHidden:!0})},o.onSuggestionClick=function(e){var t=o.props.suggestions.get(e.currentTarget.getAttribute("data-index"));e.preventDefault(),o.props.onSuggestionSelected(o.state.tokenStart,o.state.lastToken,t),o.textarea.focus()},o.setTextarea=function(e){o.textarea=e},o.onPaste=function(e){e.clipboardData&&1===e.clipboardData.files.length&&(o.props.onPaste(e.clipboardData.files),e.preventDefault())},o.renderSuggestion=function(e,t){var n=o.state.selectedSuggestion,a=void 0,i=void 0;return"object"===(void 0===e?"undefined":c()(e))?(a=s()(v.a,{emoji:e}),i=e.id):(a=s()(m.a,{id:e}),i=e),s()("div",{role:"button",tabIndex:"0","data-index":t,className:O()("autosuggest-textarea__suggestions__item",{selected:t===n}),onMouseDown:o.onSuggestionClick},i,a)},a=n,p()(o,a)}return f()(t,e),t.prototype.componentWillReceiveProps=function(e){e.suggestions!==this.props.suggestions&&e.suggestions.size>0&&this.state.suggestionsHidden&&this.setState({suggestionsHidden:!1})},t.prototype.render=function(){var e=this.props,t=e.value,n=e.suggestions,o=e.disabled,a=e.placeholder,i=e.autoFocus,r=this.state.suggestionsHidden,c={direction:"ltr"};return Object(w.a)(t)&&(c.direction="rtl"),s()("div",{className:"autosuggest-textarea"},void 0,s()("label",{},void 0,s()("span",{style:{display:"none"}},void 0,a),s()(x.a,{inputRef:this.setTextarea,className:"autosuggest-textarea__textarea",disabled:o,placeholder:a,autoFocus:i,value:t,onChange:this.onChange,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,onBlur:this.onBlur,onPaste:this.onPaste,style:c})),s()("div",{className:"autosuggest-textarea__suggestions "+(r||n.isEmpty()?"":"autosuggest-textarea__suggestions--visible")},void 0,n.map(this.renderSuggestion)))},t}(j.a),o.propTypes={value:k.a.string,suggestions:y.a.list,disabled:k.a.bool,placeholder:k.a.string,onSuggestionSelected:k.a.func.isRequired,onSuggestionsClearRequested:k.a.func.isRequired,onSuggestionsFetchRequested:k.a.func.isRequired,onChange:k.a.func.isRequired,onKeyUp:k.a.func,onKeyDown:k.a.func,onPaste:k.a.func.isRequired,autoFocus:k.a.bool},o.defaultProps={autoFocus:!0},a)},291:function(e,t,n){"use strict";var o=n(9),a=n(292),i=n(69),s=function(){var e=Object(i.c)();return function(t,n){var o=n.id;return{account:e(t,o)}}};t.a=Object(o.connect)(s)(a.a)},292:function(e,t,n){"use strict";n.d(t,"a",function(){return _});var o,a,i=n(2),s=n.n(i),r=n(1),c=n.n(r),l=n(3),u=n.n(l),d=n(4),p=n.n(d),g=n(0),f=(n.n(g),n(55)),h=n(56),m=n(12),v=n.n(m),b=n(11),y=n.n(b),_=(a=o=function(e){function t(){return c()(this,t),u()(this,e.apply(this,arguments))}return p()(t,e),t.prototype.render=function(){var e=this.props.account;return s()("div",{className:"autosuggest-account"},void 0,s()("div",{className:"autosuggest-account-icon"},void 0,s()(f.a,{account:e,size:18})),s()(h.a,{account:e}))},t}(y.a),o.propTypes={account:v.a.map.isRequired},a)},293:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return m});var o=n(2),a=n.n(o),i=n(1),s=n.n(i),r=n(3),c=n.n(r),l=n(4),u=n.n(l),d=n(0),p=n.n(d),g=n(160),f=n.n(g),h=e.env.CDN_HOST||"",m=function(e){function t(){return s()(this,t),c()(this,e.apply(this,arguments))}return u()(t,e),t.prototype.render=function(){var e=this.props.emoji,t=void 0;if(e.custom)t=e.imageUrl;else{var n=f.a[e.native]||f.a[e.native.replace(/\uFE0F$/,"")];if(!n)return null;t=h+"/emoji/"+n.filename+".svg"}return a()("div",{className:"autosuggest-emoji"},void 0,a()("img",{className:"emojione",src:t,alt:e.native||e.colons}),e.colons)},t}(p.a.PureComponent)}).call(t,n(34))},294:function(e,t,n){"use strict";function o(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;null===u.parentNode&&document.body.appendChild(u);var s=a(e,t,n);if(null===s)return null;var r=s.paddingSize,c=s.borderSize,l=s.boxSizing,p=s.sizingStyle;Object.keys(p).forEach(function(e){u.style[e]=p[e]}),Object.keys(d).forEach(function(e){u.style.setProperty(e,d[e],"important")}),u.value=e.value||e.placeholder||"x";var g=-1/0,f=1/0,h=u.scrollHeight;"border-box"===l?h+=c:"content-box"===l&&(h-=r),u.value="x";var m=u.scrollHeight-r;return null===o&&null===i||(null!==o&&(g=m*o,"border-box"===l&&(g=g+r+c),h=Math.max(g,h)),null!==i&&(f=m*i,"border-box"===l&&(f=f+r+c),h=Math.min(f,h))),{height:h,minHeight:g,maxHeight:f,rowCount:Math.floor(h/m)}}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(n&&g[t])return g[t];var o=window.getComputedStyle(e);if(null===o)return null;var a=p.reduce(function(e,t){return e[t]=o.getPropertyValue(t),e},{}),i=a["box-sizing"];l&&"border-box"===i&&(a.width=parseFloat(a.width)+parseFloat(o["border-right-width"])+parseFloat(o["border-left-width"])+parseFloat(o["padding-right"])+parseFloat(o["padding-left"])+"px");var s=parseFloat(a["padding-bottom"])+parseFloat(a["padding-top"]),r=parseFloat(a["border-bottom-width"])+parseFloat(a["border-top-width"]),c={sizingStyle:a,paddingSize:s,borderSize:r,boxSizing:i};return n&&(g[t]=c),c}var i=n(0),s=n.n(i),r=n(5),c=(n.n(r),"undefined"!=typeof window&&"undefined"!=typeof document),l=!!c&&!!document.documentElement.currentStyle,u=c&&document.createElement("textarea"),d={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},p=["letter-spacing","line-height","font-family","font-weight","font-size","font-style","text-rendering","text-transform","width","text-indent","padding-top","padding-right","padding-bottom","padding-left","border-top-width","border-right-width","border-bottom-width","border-left-width","box-sizing"],g={},f=function(e){return delete g[e]},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(){return++e}}(),m=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},v=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n},_=function(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},k=function(){},w=c&&window.requestAnimationFrame?[window.requestAnimationFrame,window.cancelAnimationFrame]:[setTimeout,clearTimeout],C=w[0],j=w[1],x=function(e){function t(n){m(this,t);var a=_(this,e.call(this,n));return a._resizeLock=!1,a._onRootDOMNode=function(e){a._rootDOMNode=e,a.props.inputRef&&a.props.inputRef(e)},a._onChange=function(e){a._controlled||a._resizeComponent(),a.props.onChange(e)},a._resizeComponent=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:k;if(void 0===a._rootDOMNode)return void e();var t=o(a._rootDOMNode,a._uid,a.props.useCacheForDOMMeasurements,a.props.minRows,a.props.maxRows);if(null===t)return void e();var n=t.height,i=t.minHeight,s=t.maxHeight,r=t.rowCount;if(a.rowCount=r,a.state.height!==n||a.state.minHeight!==i||a.state.maxHeight!==s)return void a.setState({height:n,minHeight:i,maxHeight:s},e);e()},a.state={height:n.style&&n.style.height||0,minHeight:-1/0,maxHeight:1/0},a._uid=h(),a._controlled="string"==typeof n.value,a}return b(t,e),t.prototype.render=function(){var e=this.props,t=(e.minRows,e.maxRows,e.onHeightChange,e.useCacheForDOMMeasurements,e.inputRef,y(e,["minRows","maxRows","onHeightChange","useCacheForDOMMeasurements","inputRef"]));return t.style=v({},t.style,{height:this.state.height}),Math.max(t.style.maxHeight||1/0,this.state.maxHeight)3||e.getIn(["compose","media_attachments"]).some(function(e){return"video"===e.get("type")}),resetFileKey:e.getIn(["compose","resetFileKey"])}},r=function(e){return{onSelectFile:function(t){e(Object(i.U)(t))}}};t.a=Object(o.connect)(s,r)(a.a)},296:function(e,t,n){"use strict";n.d(t,"a",function(){return N});var o,a,i,s,r=n(2),c=n.n(r),l=n(1),u=n.n(l),d=n(3),p=n.n(d),g=n(4),f=n.n(g),h=n(0),m=n.n(h),v=n(19),b=n(5),y=n.n(b),_=n(6),k=n(9),w=n(11),C=n.n(w),j=n(12),x=n.n(j),M=Object(_.f)({upload:{id:"upload_button.label",defaultMessage:"Add media"}}),O=function(){return function(e){return{acceptContentTypes:e.getIn(["media_attachments","accept_content_types"])}}},S={height:null,lineHeight:"27px"},N=(o=Object(k.connect)(O))(a=Object(_.g)((s=i=function(e){function t(){var n,o,a;u()(this,t);for(var i=arguments.length,s=Array(i),r=0;r0&&o.props.onSelectFile(e.target.files)},o.handleClick=function(){o.fileElement.click()},o.setRef=function(e){o.fileElement=e},a=n,p()(o,a)}return f()(t,e),t.prototype.render=function(){var e=this.props,t=e.intl,n=e.resetFileKey,o=e.disabled,a=e.acceptContentTypes;return c()("div",{className:"compose-form__upload-button"},void 0,c()(v.a,{icon:"camera",title:t.formatMessage(M.upload),disabled:o,onClick:this.handleClick,className:"compose-form__upload-button-icon",size:18,inverted:!0,style:S}),c()("label",{},void 0,c()("span",{style:{display:"none"}},void 0,t.formatMessage(M.upload)),m.a.createElement("input",{key:n,ref:this.setRef,type:"file",multiple:!1,accept:a.toArray().join(","),onChange:this.handleChange,disabled:o,style:{display:"none"}})))},t}(C.a),i.propTypes={disabled:y.a.bool,onSelectFile:y.a.func.isRequired,style:y.a.object,resetFileKey:y.a.number,acceptContentTypes:x.a.listOf(y.a.string).isRequired,intl:y.a.object.isRequired},a=s))||a)||a},297:function(e,t,n){"use strict";var o=n(2),a=n.n(o),i=n(0),s=(n.n(i),n(26)),r=n(27),c=n.n(r),l=function(e){var t=e.fullHeight,n=e.isVisible,o=e.children;return a()(s.a,{defaultStyle:{opacity:n?100:0,height:n?t:0},style:{opacity:c()(n?100:0),height:c()(n?t:0)}},void 0,function(e){var t=e.opacity,n=e.height;return a()("div",{style:{height:n+"px",overflow:"hidden",opacity:t/100,display:0===Math.floor(t)?"none":"block"}},void 0,o)})};t.a=l},298:function(e,t,n){"use strict";var o=n(9),a=n(299),i=n(15),s=n(6),r=Object(s.f)({title:{id:"compose_form.spoiler",defaultMessage:"Hide text behind warning"}}),c=function(e,t){return{label:"CW",title:t.intl.formatMessage(r.title),active:e.getIn(["compose","spoiler"]),ariaControls:"cw-spoiler-input"}},l=function(e){return{onClick:function(){e(Object(i.F)())}}};t.a=Object(s.g)(Object(o.connect)(c,l)(a.a))},299:function(e,t,n){"use strict";n.d(t,"a",function(){return g});var o=n(2),a=n.n(o),i=n(1),s=n.n(i),r=n(3),c=n.n(r),l=n(4),u=n.n(l),d=n(0),p=n.n(d),g=function(e){function t(){var n,o,a;s()(this,t);for(var i=arguments.length,r=Array(i),l=0;l0,active:e.getIn(["compose","sensitive"]),disabled:e.getIn(["compose","spoiler"])}},j=function(e){return{onClick:function(){e(Object(v.D)())}}},x=function(e){function t(){return s()(this,t),c()(this,e.apply(this,arguments))}return u()(t,e),t.prototype.render=function(){var e=this.props,t=e.visible,n=e.active,o=e.disabled,i=e.onClick,s=e.intl;return a()(b.a,{defaultStyle:{scale:.87},style:{scale:_()(t?1:.87,{stiffness:200,damping:3})}},void 0,function(e){var r=e.scale,c=n?"eye-slash":"eye",l=h()("compose-form__sensitive-button",{"compose-form__sensitive-button--visible":t});return a()("div",{className:l,style:{transform:"scale("+r+")"}},void 0,a()(m.a,{className:"compose-form__sensitive-button__icon",title:s.formatMessage(w.title),icon:c,onClick:i,size:18,active:n,disabled:o,style:{lineHeight:null,height:null},inverted:!0}))})},t}(p.a.PureComponent);t.a=Object(g.connect)(C,j)(Object(k.g)(x))},303:function(e,t,n){"use strict";var o=n(9),a=n(304),i=n(59),s=n(96),r=(n.n(s),n(8)),c=(n.n(r),n(102)),l=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","yum","disappointed","thinking_face","weary","sob","sunglasses","heart","ok_hand"],u=Object(s.createSelector)([function(e){return e.getIn(["settings","frequentlyUsedEmojis"],Object(r.Map)())}],function(e){var t=e.keySeq().sort(function(t,n){return e.get(t)-e.get(n)}).reverse().slice(0,16).toArray();return t.lengtho?1:0})}),p=function(e){return{custom_emojis:d(e),skinTone:e.getIn(["settings","skinTone"]),frequentlyUsedEmojis:u(e)}},g=function(e,t){var n=t.onPickEmoji;return{onSkinTone:function(t){e(Object(i.c)(["skinTone"],t))},onPickEmoji:function(t){e(Object(c.b)(t)),n&&n(t)}}};t.a=Object(o.connect)(p,g)(a.a)},304:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return E});var o,a,i,s,r=n(2),c=n.n(r),l=n(1),u=n.n(l),d=n(3),p=n.n(d),g=n(4),f=n.n(g),h=n(0),m=n.n(h),v=n(6),b=n(61),y=n(97),_=n.n(y),k=n(10),w=n.n(k),C=n(46),j=n.n(C),x=n(60),M=Object(v.f)({emoji:{id:"emoji_button.label",defaultMessage:"Insert emoji"},emoji_search:{id:"emoji_button.search",defaultMessage:"Search..."},emoji_not_found:{id:"emoji_button.not_found",defaultMessage:"No emojos!! (╯°□°)╯︵ ┻━┻"},custom:{id:"emoji_button.custom",defaultMessage:"Custom"},recent:{id:"emoji_button.recent",defaultMessage:"Frequently used"},search_results:{id:"emoji_button.search_results",defaultMessage:"Search results"},people:{id:"emoji_button.people",defaultMessage:"People"},nature:{id:"emoji_button.nature",defaultMessage:"Nature"},food:{id:"emoji_button.food",defaultMessage:"Food & Drink"},activity:{id:"emoji_button.activity",defaultMessage:"Activity"},travel:{id:"emoji_button.travel",defaultMessage:"Travel & Places"},objects:{id:"emoji_button.objects",defaultMessage:"Objects"},symbols:{id:"emoji_button.symbols",defaultMessage:"Symbols"},flags:{id:"emoji_button.flags",defaultMessage:"Flags"}}),O=e.env.CDN_HOST||"",S=void 0,N=void 0,D=function(){return O+"/emoji/sheet.png"},z=!!j.a.hasSupport&&{passive:!0},R=["recent","custom","people","nature","foods","activity","places","objects","symbols","flags"],F=function(e){function t(){var n,o,a;u()(this,t);for(var i=arguments.length,s=Array(i),r=0;r\?@\[\]\^_{|}~\$/,o.validUrlPrecedingChars=a(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/),o.invalidDomainChars=i("#{punct}#{spaces_group}#{invalid_chars_group}",o),o.validDomainChars=a(/[^#{invalidDomainChars}]/),o.validSubdomain=a(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\.)/),o.validDomainName=a(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\.)/),o.validGTLD=a(RegExp("(?:(?:삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion)(?=[^0-9a-zA-Z@]|$))")),o.validCCTLD=a(RegExp("(?:(?:한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|re|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac)(?=[^0-9a-zA-Z@]|$))")),o.validPunycode=/(?:xn--[0-9a-z]+)/,o.validSpecialCCTLD=/(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/,o.validDomain=a(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/),o.validPortNumber=/[0-9]+/,o.pd=/\u002d\u058a\u05be\u1400\u1806\u2010-\u2015\u2e17\u2e1a\u2e3a\u2e40\u301c\u3030\u30a0\ufe31\ufe58\ufe63\uff0d/,o.validGeneralUrlPathChars=a(/[^#{spaces_group}\(\)\?]/i),o.validUrlBalancedParens=a("\\((?:#{validGeneralUrlPathChars}+|(?:#{validGeneralUrlPathChars}*\\(#{validGeneralUrlPathChars}+\\)#{validGeneralUrlPathChars}*))\\)","i"),o.validUrlPathEndingChars=a(/[^#{spaces_group}\(\)\?!\*';:=\,\.\$%\[\]#{pd}~&\|@]|(?:#{validUrlBalancedParens})/i),o.validUrlPath=a("(?:(?:#{validGeneralUrlPathChars}*(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*#{validUrlPathEndingChars})|(?:@#{validGeneralUrlPathChars}+/))","i"),o.validUrlQueryChars=/[a-z0-9!?\*'@\(\);:&=\+\$\/%#\[\]\-_\.,~|]/i,o.validUrlQueryEndingChars=/[a-z0-9_&=#\/]/i,o.validUrl=a("((https?:\\/\\/)(#{validDomain})(?::(#{validPortNumber}))?(\\/#{validUrlPath}*)?(\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?)","gi"),o.validUrl}()},315:function(e,t,n){"use strict";var o=n(9),a=n(286),i=n(15),s=function(e){return{text:e.getIn(["compose","text"]),suggestion_token:e.getIn(["compose","suggestion_token"]),suggestions:e.getIn(["compose","suggestions"]),spoiler:e.getIn(["compose","spoiler"]),spoiler_text:e.getIn(["compose","spoiler_text"]),privacy:e.getIn(["compose","privacy"]),focusDate:e.getIn(["compose","focusDate"]),preselectDate:e.getIn(["compose","preselectDate"]),is_submitting:e.getIn(["compose","is_submitting"]),is_uploading:e.getIn(["compose","is_uploading"]),showSearch:e.getIn(["search","submitted"])&&!e.getIn(["search","hidden"])}},r=function(e){return{onChange:function(t){e(Object(i.C)(t))},onSubmit:function(){e(Object(i.R)())},onClearSuggestions:function(){e(Object(i.J)())},onFetchSuggestions:function(t){e(Object(i.K)(t))},onSuggestionSelected:function(t,n,o){e(Object(i.Q)(t,n,o))},onChangeSpoilerText:function(t){e(Object(i.E)(t))},onPaste:function(t){e(Object(i.U)(t))},onPickEmoji:function(t,n){e(Object(i.L)(t,n))}}};t.a=Object(o.connect)(s,r)(a.a)},752:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",function(){return S});var o,a,i=n(2),s=n.n(i),r=n(1),c=n.n(r),l=n(3),u=n.n(l),d=n(4),p=n.n(d),g=n(0),f=n.n(g),h=n(315),m=n(879),v=n(9),b=n(15),y=n(58),_=n(6),k=n(880),w=n(26),C=n(27),j=n.n(C),x=n(881),M=Object(_.f)({start:{id:"getting_started.heading",defaultMessage:"Getting started"},home_timeline:{id:"tabs_bar.home",defaultMessage:"Home"},notifications:{id:"tabs_bar.notifications",defaultMessage:"Notifications"},public:{id:"navigation_bar.public_timeline",defaultMessage:"Federated timeline"},community:{id:"navigation_bar.community_timeline",defaultMessage:"Local timeline"},preferences:{id:"navigation_bar.preferences",defaultMessage:"Preferences"},logout:{id:"navigation_bar.logout",defaultMessage:"Logout"}}),O=function(e){return{columns:e.getIn(["settings","columns"]),showSearch:e.getIn(["search","submitted"])&&!e.getIn(["search","hidden"])}},S=(o=Object(v.connect)(O))(a=Object(_.g)(a=function(e){function t(){var n,o,a;c()(this,t);for(var i=arguments.length,s=Array(i),r=0;r0||o.props.submitted)&&o.props.onClear()},o.handleKeyDown=function(e){"Enter"===e.key?(e.preventDefault(),o.props.onSubmit()):"Escape"===e.key&&document.querySelector(".ui").parentElement.focus()},o.handleFocus=function(){o.setState({expanded:!0}),o.props.onShow()},o.handleBlur=function(){o.setState({expanded:!1})},a=n,l()(o,a)}return d()(t,e),t.prototype.noop=function(){},t.prototype.render=function(){var e=this.props,t=e.intl,n=e.value,o=e.submitted,a=this.state.expanded,s=n.length>0||o;return i()("div",{className:"search"},void 0,i()("label",{},void 0,i()("span",{style:{display:"none"}},void 0,t.formatMessage(_.placeholder)),i()("input",{className:"search__input",type:"text",placeholder:t.formatMessage(_.placeholder),value:n,onChange:this.handleChange,onKeyUp:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur})),i()("div",{role:"button",tabIndex:"0",className:"search__icon",onClick:this.handleClear},void 0,i()("i",{className:"fa fa-search "+(s?"":"active")}),i()("i",{"aria-label":t.formatMessage(_.placeholder),className:"fa fa-times-circle "+(s?"active":"")})),i()(m.a,{show:a&&!s,placement:"bottom",target:this},void 0,i()(k,{})))},t}(g.a.PureComponent))||o},879:function(e,t,n){"use strict";var o=n(9),a=n(802),i=n(18),s=function(e){return{account:e.getIn(["accounts",i.e])}};t.a=Object(o.connect)(s)(a.a)},880:function(e,t,n){"use strict";var o=n(9),a=n(73),i=n(803),s=function(e){return{value:e.getIn(["search","value"]),submitted:e.getIn(["search","submitted"])}},r=function(e){return{onChange:function(t){e(Object(a.e)(t))},onClear:function(){e(Object(a.f)())},onSubmit:function(){e(Object(a.h)())},onShow:function(){e(Object(a.g)())}}};t.a=Object(o.connect)(s,r)(i.a)},881:function(e,t,n){"use strict";var o=n(9),a=n(882),i=function(e){return{results:e.getIn(["search","results"])}};t.a=Object(o.connect)(i)(a.a)},882:function(e,t,n){"use strict";n.d(t,"a",function(){return w});var o,a,i=n(2),s=n.n(i),r=n(1),c=n.n(r),l=n(3),u=n.n(l),d=n(4),p=n.n(d),g=n(0),f=(n.n(g),n(12)),h=n.n(f),m=n(6),v=n(777),b=n(261),y=n(58),_=n(11),k=n.n(_),w=(a=o=function(e){function t(){return c()(this,t),u()(this,e.apply(this,arguments))}return p()(t,e),t.prototype.render=function(){var e=this.props.results,t=void 0,n=void 0,o=void 0,a=0;return e.get("accounts")&&e.get("accounts").size>0&&(a+=e.get("accounts").size,t=s()("div",{className:"search-results__section"},void 0,e.get("accounts").map(function(e){return s()(v.a,{id:e},e)}))),e.get("statuses")&&e.get("statuses").size>0&&(a+=e.get("statuses").size,n=s()("div",{className:"search-results__section"},void 0,e.get("statuses").map(function(e){return s()(b.a,{id:e},e)}))),e.get("hashtags")&&e.get("hashtags").size>0&&(a+=e.get("hashtags").size,o=s()("div",{className:"search-results__section"},void 0,e.get("hashtags").map(function(e){return s()(y.b,{className:"search-results__hashtag",to:"/timelines/tag/"+e},e,"#",e)}))),s()("div",{className:"search-results"},void 0,s()("div",{className:"search-results__header"},void 0,s()(m.b,{id:"search_results.total",defaultMessage:"{count, number} {count, plural, one {result} other {results}}",values:{count:a}})),t,n,o)},t}(k.a),o.propTypes={results:h.a.map.isRequired},a)}}); -//# sourceMappingURL=compose-4617f6e912b5bfa71c43.js.map \ No newline at end of file +webpackJsonp([2],{261:function(e,t,n){"use strict";var o=n(2),a=n.n(o),i=n(0),s=(n.n(i),n(9)),r=n(153),c=n(69),l=n(15),u=n(43),d=n(22),p=n(57),g=n(151),f=n(31),h=n(6),m=n(18),v=Object(h.f)({deleteConfirm:{id:"confirmations.delete.confirm",defaultMessage:"Delete"},deleteMessage:{id:"confirmations.delete.message",defaultMessage:"Are you sure you want to delete this status?"},blockConfirm:{id:"confirmations.block.confirm",defaultMessage:"Block"},muteConfirm:{id:"confirmations.mute.confirm",defaultMessage:"Mute"}}),b=function(){var e=Object(c.e)();return function(t,n){return{status:e(t,n.id)}}},y=function(e,t){var n=t.intl;return{onReply:function(t,n){e(Object(l.O)(t,n))},onModalReblog:function(t){e(Object(u.q)(t))},onReblog:function(t,n){t.get("reblogged")?e(Object(u.t)(t)):n.shiftKey||!m.b?this.onModalReblog(t):e(Object(f.d)("BOOST",{status:t,onReblog:this.onModalReblog}))},onFavourite:function(t){e(t.get("favourited")?Object(u.r)(t):Object(u.m)(t))},onPin:function(t){e(t.get("pinned")?Object(u.s)(t):Object(u.p)(t))},onEmbed:function(t){e(Object(f.d)("EMBED",{url:t.get("url")}))},onDelete:function(t){e(m.d?Object(f.d)("CONFIRM",{message:n.formatMessage(v.deleteMessage),confirm:n.formatMessage(v.deleteConfirm),onConfirm:function(){return e(Object(p.e)(t.get("id")))}}):Object(p.e)(t.get("id")))},onMention:function(t,n){e(Object(l.M)(t,n))},onOpenMedia:function(t,n){e(Object(f.d)("MEDIA",{media:t,index:n}))},onOpenVideo:function(t,n){e(Object(f.d)("VIDEO",{media:t,time:n}))},onBlock:function(t){e(Object(f.d)("CONFIRM",{message:a()(h.b,{id:"confirmations.block.message",defaultMessage:"Are you sure you want to block {name}?",values:{name:a()("strong",{},void 0,"@",t.get("acct"))}}),confirm:n.formatMessage(v.blockConfirm),onConfirm:function(){return e(Object(d.r)(t.get("id")))}}))},onReport:function(t){e(Object(g.i)(t.get("account"),t))},onMute:function(t){e(Object(f.d)("CONFIRM",{message:a()(h.b,{id:"confirmations.mute.message",defaultMessage:"Are you sure you want to mute {name}?",values:{name:a()("strong",{},void 0,"@",t.get("acct"))}}),confirm:n.formatMessage(v.muteConfirm),onConfirm:function(){return e(Object(d.B)(t.get("id")))}}))},onMuteConversation:function(t){e(t.get("muted")?Object(p.h)(t.get("id")):Object(p.g)(t.get("id")))}}};t.a=Object(h.g)(Object(s.connect)(b,y)(r.a))},286:function(e,t,n){"use strict";n.d(t,"a",function(){return U});var o,a,i,s=n(2),r=n.n(s),c=n(1),l=n.n(c),u=n(3),d=n.n(u),p=n(4),g=n.n(p),f=n(0),h=n.n(f),m=n(287),v=n(101),b=n(12),y=n.n(b),_=n(5),k=n.n(_),w=n(288),C=n(290),j=n(295),x=n(6),M=n(297),O=n(298),S=n(300),N=n(302),D=n(303),z=n(305),R=n(311),F=n(33),I=n(11),T=n.n(I),E=n(100),P=(n.n(E),n(313)),q=Object(x.f)({placeholder:{id:"compose_form.placeholder",defaultMessage:"What is on your mind?"},spoiler_placeholder:{id:"compose_form.spoiler_placeholder",defaultMessage:"Write your warning here"},publish:{id:"compose_form.publish",defaultMessage:"Toot"},publishLoud:{id:"compose_form.publish_loud",defaultMessage:"{publish}!"}}),U=Object(x.g)((i=a=function(e){function t(){var n,o,a;l()(this,t);for(var i=arguments.length,s=Array(i),r=0;r500||0!==i.length&&0===i.trim().length,block:!0})))))},t}(T.a),a.propTypes={intl:k.a.object.isRequired,text:k.a.string.isRequired,suggestion_token:k.a.string,suggestions:y.a.list,spoiler:k.a.bool,privacy:k.a.string,spoiler_text:k.a.string,focusDate:k.a.instanceOf(Date),preselectDate:k.a.instanceOf(Date),is_submitting:k.a.bool,is_uploading:k.a.bool,onChange:k.a.func.isRequired,onSubmit:k.a.func.isRequired,onClearSuggestions:k.a.func.isRequired,onFetchSuggestions:k.a.func.isRequired,onSuggestionSelected:k.a.func.isRequired,onChangeSpoilerText:k.a.func.isRequired,onPaste:k.a.func.isRequired,onPickEmoji:k.a.func.isRequired,showSearch:k.a.bool},a.defaultProps={showSearch:!1},o=i))||o},287:function(e,t,n){"use strict";n.d(t,"a",function(){return f});var o=n(2),a=n.n(o),i=n(1),s=n.n(i),r=n(3),c=n.n(r),l=n(4),u=n.n(l),d=n(0),p=n.n(d),g=n(100),f=(n.n(g),function(e){function t(){return s()(this,t),c()(this,e.apply(this,arguments))}return u()(t,e),t.prototype.checkRemainingText=function(e){return e<0?a()("span",{className:"character-counter character-counter--over"},void 0,e):a()("span",{className:"character-counter"},void 0,e)},t.prototype.render=function(){var e=this.props.max-Object(g.length)(this.props.text);return this.checkRemainingText(e)},t}(p.a.PureComponent))},288:function(e,t,n){"use strict";var o=n(9),a=n(15),i=n(69),s=n(289),r=function(){var e=Object(i.e)();return function(t){return{status:e(t,t.getIn(["compose","in_reply_to"]))}}},c=function(e){return{onCancel:function(){e(Object(a.B)())}}};t.a=Object(o.connect)(r,c)(s.a)},289:function(e,t,n){"use strict";n.d(t,"a",function(){return M});var o,a,i,s=n(2),r=n.n(s),c=n(1),l=n.n(c),u=n(3),d=n.n(u),p=n(4),g=n.n(p),f=n(0),h=(n.n(f),n(12)),m=n.n(h),v=n(5),b=n.n(v),y=n(55),_=n(19),k=n(56),w=n(6),C=n(11),j=n.n(C),x=Object(w.f)({cancel:{id:"reply_indicator.cancel",defaultMessage:"Cancel"}}),M=Object(w.g)((i=a=function(e){function t(){var n,o,a;l()(this,t);for(var i=arguments.length,s=Array(i),r=0;r0?[o+1,n]:[null,null])},N=(a=o=function(e){function t(){var n,o,a;u()(this,t);for(var i=arguments.length,r=Array(i),l=0;l0&&!r&&(e.preventDefault(),o.setState({selectedSuggestion:Math.min(s+1,n.size-1)}));break;case"ArrowUp":n.size>0&&!r&&(e.preventDefault(),o.setState({selectedSuggestion:Math.max(s-1,0)}));break;case"Enter":case"Tab":null!==o.state.lastToken&&n.size>0&&!r&&(e.preventDefault(),e.stopPropagation(),o.props.onSuggestionSelected(o.state.tokenStart,o.state.lastToken,n.get(s)))}!e.defaultPrevented&&o.props.onKeyDown&&o.props.onKeyDown(e)},o.onKeyUp=function(e){"Escape"===e.key&&o.state.suggestionsHidden&&document.querySelector(".ui").parentElement.focus(),o.props.onKeyUp&&o.props.onKeyUp(e)},o.onBlur=function(){o.setState({suggestionsHidden:!0})},o.onSuggestionClick=function(e){var t=o.props.suggestions.get(e.currentTarget.getAttribute("data-index"));e.preventDefault(),o.props.onSuggestionSelected(o.state.tokenStart,o.state.lastToken,t),o.textarea.focus()},o.setTextarea=function(e){o.textarea=e},o.onPaste=function(e){e.clipboardData&&1===e.clipboardData.files.length&&(o.props.onPaste(e.clipboardData.files),e.preventDefault())},o.renderSuggestion=function(e,t){var n=o.state.selectedSuggestion,a=void 0,i=void 0;return"object"===(void 0===e?"undefined":c()(e))?(a=s()(v.a,{emoji:e}),i=e.id):(a=s()(m.a,{id:e}),i=e),s()("div",{role:"button",tabIndex:"0","data-index":t,className:O()("autosuggest-textarea__suggestions__item",{selected:t===n}),onMouseDown:o.onSuggestionClick},i,a)},a=n,p()(o,a)}return f()(t,e),t.prototype.componentWillReceiveProps=function(e){e.suggestions!==this.props.suggestions&&e.suggestions.size>0&&this.state.suggestionsHidden&&this.setState({suggestionsHidden:!1})},t.prototype.render=function(){var e=this.props,t=e.value,n=e.suggestions,o=e.disabled,a=e.placeholder,i=e.autoFocus,r=this.state.suggestionsHidden,c={direction:"ltr"};return Object(w.a)(t)&&(c.direction="rtl"),s()("div",{className:"autosuggest-textarea"},void 0,s()("label",{},void 0,s()("span",{style:{display:"none"}},void 0,a),s()(x.a,{inputRef:this.setTextarea,className:"autosuggest-textarea__textarea",disabled:o,placeholder:a,autoFocus:i,value:t,onChange:this.onChange,onKeyDown:this.onKeyDown,onKeyUp:this.onKeyUp,onBlur:this.onBlur,onPaste:this.onPaste,style:c})),s()("div",{className:"autosuggest-textarea__suggestions "+(r||n.isEmpty()?"":"autosuggest-textarea__suggestions--visible")},void 0,n.map(this.renderSuggestion)))},t}(j.a),o.propTypes={value:k.a.string,suggestions:y.a.list,disabled:k.a.bool,placeholder:k.a.string,onSuggestionSelected:k.a.func.isRequired,onSuggestionsClearRequested:k.a.func.isRequired,onSuggestionsFetchRequested:k.a.func.isRequired,onChange:k.a.func.isRequired,onKeyUp:k.a.func,onKeyDown:k.a.func,onPaste:k.a.func.isRequired,autoFocus:k.a.bool},o.defaultProps={autoFocus:!0},a)},291:function(e,t,n){"use strict";var o=n(9),a=n(292),i=n(69),s=function(){var e=Object(i.c)();return function(t,n){var o=n.id;return{account:e(t,o)}}};t.a=Object(o.connect)(s)(a.a)},292:function(e,t,n){"use strict";n.d(t,"a",function(){return _});var o,a,i=n(2),s=n.n(i),r=n(1),c=n.n(r),l=n(3),u=n.n(l),d=n(4),p=n.n(d),g=n(0),f=(n.n(g),n(55)),h=n(56),m=n(12),v=n.n(m),b=n(11),y=n.n(b),_=(a=o=function(e){function t(){return c()(this,t),u()(this,e.apply(this,arguments))}return p()(t,e),t.prototype.render=function(){var e=this.props.account;return s()("div",{className:"autosuggest-account"},void 0,s()("div",{className:"autosuggest-account-icon"},void 0,s()(f.a,{account:e,size:18})),s()(h.a,{account:e}))},t}(y.a),o.propTypes={account:v.a.map.isRequired},a)},293:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return m});var o=n(2),a=n.n(o),i=n(1),s=n.n(i),r=n(3),c=n.n(r),l=n(4),u=n.n(l),d=n(0),p=n.n(d),g=n(160),f=n.n(g),h=e.env.CDN_HOST||"",m=function(e){function t(){return s()(this,t),c()(this,e.apply(this,arguments))}return u()(t,e),t.prototype.render=function(){var e=this.props.emoji,t=void 0;if(e.custom)t=e.imageUrl;else{var n=f.a[e.native]||f.a[e.native.replace(/\uFE0F$/,"")];if(!n)return null;t=h+"/emoji/"+n.filename+".svg"}return a()("div",{className:"autosuggest-emoji"},void 0,a()("img",{className:"emojione",src:t,alt:e.native||e.colons}),e.colons)},t}(p.a.PureComponent)}).call(t,n(34))},294:function(e,t,n){"use strict";function o(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;null===u.parentNode&&document.body.appendChild(u);var s=a(e,t,n);if(null===s)return null;var r=s.paddingSize,c=s.borderSize,l=s.boxSizing,p=s.sizingStyle;Object.keys(p).forEach(function(e){u.style[e]=p[e]}),Object.keys(d).forEach(function(e){u.style.setProperty(e,d[e],"important")}),u.value=e.value||e.placeholder||"x";var g=-1/0,f=1/0,h=u.scrollHeight;"border-box"===l?h+=c:"content-box"===l&&(h-=r),u.value="x";var m=u.scrollHeight-r;return null===o&&null===i||(null!==o&&(g=m*o,"border-box"===l&&(g=g+r+c),h=Math.max(g,h)),null!==i&&(f=m*i,"border-box"===l&&(f=f+r+c),h=Math.min(f,h))),{height:h,minHeight:g,maxHeight:f,rowCount:Math.floor(h/m)}}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(n&&g[t])return g[t];var o=window.getComputedStyle(e);if(null===o)return null;var a=p.reduce(function(e,t){return e[t]=o.getPropertyValue(t),e},{}),i=a["box-sizing"];l&&"border-box"===i&&(a.width=parseFloat(a.width)+parseFloat(o["border-right-width"])+parseFloat(o["border-left-width"])+parseFloat(o["padding-right"])+parseFloat(o["padding-left"])+"px");var s=parseFloat(a["padding-bottom"])+parseFloat(a["padding-top"]),r=parseFloat(a["border-bottom-width"])+parseFloat(a["border-top-width"]),c={sizingStyle:a,paddingSize:s,borderSize:r,boxSizing:i};return n&&(g[t]=c),c}var i=n(0),s=n.n(i),r=n(5),c=(n.n(r),"undefined"!=typeof window&&"undefined"!=typeof document),l=!!c&&!!document.documentElement.currentStyle,u=c&&document.createElement("textarea"),d={"min-height":"0","max-height":"none",height:"0",visibility:"hidden",overflow:"hidden",position:"absolute","z-index":"-1000",top:"0",right:"0"},p=["letter-spacing","line-height","font-family","font-weight","font-size","font-style","text-rendering","text-transform","width","text-indent","padding-top","padding-right","padding-bottom","padding-left","border-top-width","border-right-width","border-bottom-width","border-left-width","box-sizing"],g={},f=function(e){return delete g[e]},h=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function(){return++e}}(),m=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},v=Object.assign||function(e){for(var t=1;t=0||Object.prototype.hasOwnProperty.call(e,o)&&(n[o]=e[o]);return n},_=function(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},k=function(){},w=c&&window.requestAnimationFrame?[window.requestAnimationFrame,window.cancelAnimationFrame]:[setTimeout,clearTimeout],C=w[0],j=w[1],x=function(e){function t(n){m(this,t);var a=_(this,e.call(this,n));return a._resizeLock=!1,a._onRootDOMNode=function(e){a._rootDOMNode=e,a.props.inputRef&&a.props.inputRef(e)},a._onChange=function(e){a._controlled||a._resizeComponent(),a.props.onChange(e)},a._resizeComponent=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:k;if(void 0===a._rootDOMNode)return void e();var t=o(a._rootDOMNode,a._uid,a.props.useCacheForDOMMeasurements,a.props.minRows,a.props.maxRows);if(null===t)return void e();var n=t.height,i=t.minHeight,s=t.maxHeight,r=t.rowCount;if(a.rowCount=r,a.state.height!==n||a.state.minHeight!==i||a.state.maxHeight!==s)return void a.setState({height:n,minHeight:i,maxHeight:s},e);e()},a.state={height:n.style&&n.style.height||0,minHeight:-1/0,maxHeight:1/0},a._uid=h(),a._controlled="string"==typeof n.value,a}return b(t,e),t.prototype.render=function(){var e=this.props,t=(e.minRows,e.maxRows,e.onHeightChange,e.useCacheForDOMMeasurements,e.inputRef,y(e,["minRows","maxRows","onHeightChange","useCacheForDOMMeasurements","inputRef"]));return t.style=v({},t.style,{height:this.state.height}),Math.max(t.style.maxHeight||1/0,this.state.maxHeight)3||e.getIn(["compose","media_attachments"]).some(function(e){return"video"===e.get("type")}),resetFileKey:e.getIn(["compose","resetFileKey"])}},r=function(e){return{onSelectFile:function(t){e(Object(i.U)(t))}}};t.a=Object(o.connect)(s,r)(a.a)},296:function(e,t,n){"use strict";n.d(t,"a",function(){return N});var o,a,i,s,r=n(2),c=n.n(r),l=n(1),u=n.n(l),d=n(3),p=n.n(d),g=n(4),f=n.n(g),h=n(0),m=n.n(h),v=n(19),b=n(5),y=n.n(b),_=n(6),k=n(9),w=n(11),C=n.n(w),j=n(12),x=n.n(j),M=Object(_.f)({upload:{id:"upload_button.label",defaultMessage:"Add media"}}),O=function(){return function(e){return{acceptContentTypes:e.getIn(["media_attachments","accept_content_types"])}}},S={height:null,lineHeight:"27px"},N=(o=Object(k.connect)(O))(a=Object(_.g)((s=i=function(e){function t(){var n,o,a;u()(this,t);for(var i=arguments.length,s=Array(i),r=0;r0&&o.props.onSelectFile(e.target.files)},o.handleClick=function(){o.fileElement.click()},o.setRef=function(e){o.fileElement=e},a=n,p()(o,a)}return f()(t,e),t.prototype.render=function(){var e=this.props,t=e.intl,n=e.resetFileKey,o=e.disabled,a=e.acceptContentTypes;return c()("div",{className:"compose-form__upload-button"},void 0,c()(v.a,{icon:"camera",title:t.formatMessage(M.upload),disabled:o,onClick:this.handleClick,className:"compose-form__upload-button-icon",size:18,inverted:!0,style:S}),c()("label",{},void 0,c()("span",{style:{display:"none"}},void 0,t.formatMessage(M.upload)),m.a.createElement("input",{key:n,ref:this.setRef,type:"file",multiple:!1,accept:a.toArray().join(","),onChange:this.handleChange,disabled:o,style:{display:"none"}})))},t}(C.a),i.propTypes={disabled:y.a.bool,onSelectFile:y.a.func.isRequired,style:y.a.object,resetFileKey:y.a.number,acceptContentTypes:x.a.listOf(y.a.string).isRequired,intl:y.a.object.isRequired},a=s))||a)||a},297:function(e,t,n){"use strict";var o=n(2),a=n.n(o),i=n(0),s=(n.n(i),n(26)),r=n(27),c=n.n(r),l=function(e){var t=e.fullHeight,n=e.isVisible,o=e.children;return a()(s.a,{defaultStyle:{opacity:n?100:0,height:n?t:0},style:{opacity:c()(n?100:0),height:c()(n?t:0)}},void 0,function(e){var t=e.opacity,n=e.height;return a()("div",{style:{height:n+"px",overflow:"hidden",opacity:t/100,display:0===Math.floor(t)?"none":"block"}},void 0,o)})};t.a=l},298:function(e,t,n){"use strict";var o=n(9),a=n(299),i=n(15),s=n(6),r=Object(s.f)({title:{id:"compose_form.spoiler",defaultMessage:"Hide text behind warning"}}),c=function(e,t){return{label:"CW",title:t.intl.formatMessage(r.title),active:e.getIn(["compose","spoiler"]),ariaControls:"cw-spoiler-input"}},l=function(e){return{onClick:function(){e(Object(i.F)())}}};t.a=Object(s.g)(Object(o.connect)(c,l)(a.a))},299:function(e,t,n){"use strict";n.d(t,"a",function(){return g});var o=n(2),a=n.n(o),i=n(1),s=n.n(i),r=n(3),c=n.n(r),l=n(4),u=n.n(l),d=n(0),p=n.n(d),g=function(e){function t(){var n,o,a;s()(this,t);for(var i=arguments.length,r=Array(i),l=0;l0,active:e.getIn(["compose","sensitive"]),disabled:e.getIn(["compose","spoiler"])}},j=function(e){return{onClick:function(){e(Object(v.D)())}}},x=function(e){function t(){return s()(this,t),c()(this,e.apply(this,arguments))}return u()(t,e),t.prototype.render=function(){var e=this.props,t=e.visible,n=e.active,o=e.disabled,i=e.onClick,s=e.intl;return a()(b.a,{defaultStyle:{scale:.87},style:{scale:_()(t?1:.87,{stiffness:200,damping:3})}},void 0,function(e){var r=e.scale,c=n?"eye-slash":"eye",l=h()("compose-form__sensitive-button",{"compose-form__sensitive-button--visible":t});return a()("div",{className:l,style:{transform:"scale("+r+")"}},void 0,a()(m.a,{className:"compose-form__sensitive-button__icon",title:s.formatMessage(w.title),icon:c,onClick:i,size:18,active:n,disabled:o,style:{lineHeight:null,height:null},inverted:!0}))})},t}(p.a.PureComponent);t.a=Object(g.connect)(C,j)(Object(k.g)(x))},303:function(e,t,n){"use strict";var o=n(9),a=n(304),i=n(59),s=n(96),r=(n.n(s),n(8)),c=(n.n(r),n(102)),l=["+1","grinning","kissing_heart","heart_eyes","laughing","stuck_out_tongue_winking_eye","sweat_smile","joy","yum","disappointed","thinking_face","weary","sob","sunglasses","heart","ok_hand"],u=Object(s.createSelector)([function(e){return e.getIn(["settings","frequentlyUsedEmojis"],Object(r.Map)())}],function(e){var t=e.keySeq().sort(function(t,n){return e.get(t)-e.get(n)}).reverse().slice(0,16).toArray();return t.lengtho?1:0})}),p=function(e){return{custom_emojis:d(e),skinTone:e.getIn(["settings","skinTone"]),frequentlyUsedEmojis:u(e)}},g=function(e,t){var n=t.onPickEmoji;return{onSkinTone:function(t){e(Object(i.c)(["skinTone"],t))},onPickEmoji:function(t){e(Object(c.b)(t)),n&&n(t)}}};t.a=Object(o.connect)(p,g)(a.a)},304:function(e,t,n){"use strict";(function(e){n.d(t,"a",function(){return E});var o,a,i,s,r=n(2),c=n.n(r),l=n(1),u=n.n(l),d=n(3),p=n.n(d),g=n(4),f=n.n(g),h=n(0),m=n.n(h),v=n(6),b=n(61),y=n(97),_=n.n(y),k=n(10),w=n.n(k),C=n(46),j=n.n(C),x=n(60),M=Object(v.f)({emoji:{id:"emoji_button.label",defaultMessage:"Insert emoji"},emoji_search:{id:"emoji_button.search",defaultMessage:"Search..."},emoji_not_found:{id:"emoji_button.not_found",defaultMessage:"No emojos!! (╯°□°)╯︵ ┻━┻"},custom:{id:"emoji_button.custom",defaultMessage:"Custom"},recent:{id:"emoji_button.recent",defaultMessage:"Frequently used"},search_results:{id:"emoji_button.search_results",defaultMessage:"Search results"},people:{id:"emoji_button.people",defaultMessage:"People"},nature:{id:"emoji_button.nature",defaultMessage:"Nature"},food:{id:"emoji_button.food",defaultMessage:"Food & Drink"},activity:{id:"emoji_button.activity",defaultMessage:"Activity"},travel:{id:"emoji_button.travel",defaultMessage:"Travel & Places"},objects:{id:"emoji_button.objects",defaultMessage:"Objects"},symbols:{id:"emoji_button.symbols",defaultMessage:"Symbols"},flags:{id:"emoji_button.flags",defaultMessage:"Flags"}}),O=e.env.CDN_HOST||"",S=void 0,N=void 0,D=function(){return O+"/emoji/sheet.png"},z=!!j.a.hasSupport&&{passive:!0},R=["recent","custom","people","nature","foods","activity","places","objects","symbols","flags"],F=function(e){function t(){var n,o,a;u()(this,t);for(var i=arguments.length,s=Array(i),r=0;r\?@\[\]\^_{|}~\$/,o.validUrlPrecedingChars=a(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/),o.invalidDomainChars=i("#{punct}#{spaces_group}#{invalid_chars_group}",o),o.validDomainChars=a(/[^#{invalidDomainChars}]/),o.validSubdomain=a(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\.)/),o.validDomainName=a(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\.)/),o.validGTLD=a(RegExp("(?:(?:삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion)(?=[^0-9a-zA-Z@]|$))")),o.validCCTLD=a(RegExp("(?:(?:한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|re|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac)(?=[^0-9a-zA-Z@]|$))")),o.validPunycode=/(?:xn--[0-9a-z]+)/,o.validSpecialCCTLD=/(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/,o.validDomain=a(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/),o.validPortNumber=/[0-9]+/,o.pd=/\u002d\u058a\u05be\u1400\u1806\u2010-\u2015\u2e17\u2e1a\u2e3a\u2e40\u301c\u3030\u30a0\ufe31\ufe58\ufe63\uff0d/,o.validGeneralUrlPathChars=a(/[^#{spaces_group}\(\)\?]/i),o.validUrlBalancedParens=a("\\((?:#{validGeneralUrlPathChars}+|(?:#{validGeneralUrlPathChars}*\\(#{validGeneralUrlPathChars}+\\)#{validGeneralUrlPathChars}*))\\)","i"),o.validUrlPathEndingChars=a(/[^#{spaces_group}\(\)\?!\*';:=\,\.\$%\[\]#{pd}~&\|@]|(?:#{validUrlBalancedParens})/i),o.validUrlPath=a("(?:(?:#{validGeneralUrlPathChars}*(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*#{validUrlPathEndingChars})|(?:@#{validGeneralUrlPathChars}+/))","i"),o.validUrlQueryChars=/[a-z0-9!?\*'@\(\);:&=\+\$\/%#\[\]\-_\.,~|]/i,o.validUrlQueryEndingChars=/[a-z0-9_&=#\/]/i,o.validUrl=a("((https?:\\/\\/)(#{validDomain})(?::(#{validPortNumber}))?(\\/#{validUrlPath}*)?(\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?)","gi"),o.validUrl}()},315:function(e,t,n){"use strict";var o=n(9),a=n(286),i=n(15),s=function(e){return{text:e.getIn(["compose","text"]),suggestion_token:e.getIn(["compose","suggestion_token"]),suggestions:e.getIn(["compose","suggestions"]),spoiler:e.getIn(["compose","spoiler"]),spoiler_text:e.getIn(["compose","spoiler_text"]),privacy:e.getIn(["compose","privacy"]),focusDate:e.getIn(["compose","focusDate"]),preselectDate:e.getIn(["compose","preselectDate"]),is_submitting:e.getIn(["compose","is_submitting"]),is_uploading:e.getIn(["compose","is_uploading"]),showSearch:e.getIn(["search","submitted"])&&!e.getIn(["search","hidden"])}},r=function(e){return{onChange:function(t){e(Object(i.C)(t))},onSubmit:function(){e(Object(i.R)())},onClearSuggestions:function(){e(Object(i.J)())},onFetchSuggestions:function(t){e(Object(i.K)(t))},onSuggestionSelected:function(t,n,o){e(Object(i.Q)(t,n,o))},onChangeSpoilerText:function(t){e(Object(i.E)(t))},onPaste:function(t){e(Object(i.U)(t))},onPickEmoji:function(t,n){e(Object(i.L)(t,n))}}};t.a=Object(o.connect)(s,r)(a.a)},752:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n.d(t,"default",function(){return S});var o,a,i=n(2),s=n.n(i),r=n(1),c=n.n(r),l=n(3),u=n.n(l),d=n(4),p=n.n(d),g=n(0),f=n.n(g),h=n(315),m=n(879),v=n(9),b=n(15),y=n(58),_=n(6),k=n(880),w=n(26),C=n(27),j=n.n(C),x=n(881),M=Object(_.f)({start:{id:"getting_started.heading",defaultMessage:"Getting started"},home_timeline:{id:"tabs_bar.home",defaultMessage:"Home"},notifications:{id:"tabs_bar.notifications",defaultMessage:"Notifications"},public:{id:"navigation_bar.public_timeline",defaultMessage:"Federated timeline"},community:{id:"navigation_bar.community_timeline",defaultMessage:"Local timeline"},preferences:{id:"navigation_bar.preferences",defaultMessage:"Preferences"},logout:{id:"navigation_bar.logout",defaultMessage:"Logout"}}),O=function(e){return{columns:e.getIn(["settings","columns"]),showSearch:e.getIn(["search","submitted"])&&!e.getIn(["search","hidden"])}},S=(o=Object(v.connect)(O))(a=Object(_.g)(a=function(e){function t(){var n,o,a;c()(this,t);for(var i=arguments.length,s=Array(i),r=0;r0||o.props.submitted)&&o.props.onClear()},o.handleKeyDown=function(e){"Enter"===e.key?(e.preventDefault(),o.props.onSubmit()):"Escape"===e.key&&document.querySelector(".ui").parentElement.focus()},o.handleFocus=function(){o.setState({expanded:!0}),o.props.onShow()},o.handleBlur=function(){o.setState({expanded:!1})},a=n,l()(o,a)}return d()(t,e),t.prototype.noop=function(){},t.prototype.render=function(){var e=this.props,t=e.intl,n=e.value,o=e.submitted,a=this.state.expanded,s=n.length>0||o;return i()("div",{className:"search"},void 0,i()("label",{},void 0,i()("span",{style:{display:"none"}},void 0,t.formatMessage(_.placeholder)),i()("input",{className:"search__input",type:"text",placeholder:t.formatMessage(_.placeholder),value:n,onChange:this.handleChange,onKeyUp:this.handleKeyDown,onFocus:this.handleFocus,onBlur:this.handleBlur})),i()("div",{role:"button",tabIndex:"0",className:"search__icon",onClick:this.handleClear},void 0,i()("i",{className:"fa fa-search "+(s?"":"active")}),i()("i",{"aria-label":t.formatMessage(_.placeholder),className:"fa fa-times-circle "+(s?"active":"")})),i()(m.a,{show:a&&!s,placement:"bottom",target:this},void 0,i()(k,{})))},t}(g.a.PureComponent))||o},879:function(e,t,n){"use strict";var o=n(9),a=n(802),i=n(18),s=function(e){return{account:e.getIn(["accounts",i.e])}};t.a=Object(o.connect)(s)(a.a)},880:function(e,t,n){"use strict";var o=n(9),a=n(73),i=n(803),s=function(e){return{value:e.getIn(["search","value"]),submitted:e.getIn(["search","submitted"])}},r=function(e){return{onChange:function(t){e(Object(a.e)(t))},onClear:function(){e(Object(a.f)())},onSubmit:function(){e(Object(a.h)())},onShow:function(){e(Object(a.g)())}}};t.a=Object(o.connect)(s,r)(i.a)},881:function(e,t,n){"use strict";var o=n(9),a=n(882),i=function(e){return{results:e.getIn(["search","results"])}};t.a=Object(o.connect)(i)(a.a)},882:function(e,t,n){"use strict";n.d(t,"a",function(){return w});var o,a,i=n(2),s=n.n(i),r=n(1),c=n.n(r),l=n(3),u=n.n(l),d=n(4),p=n.n(d),g=n(0),f=(n.n(g),n(12)),h=n.n(f),m=n(6),v=n(777),b=n(261),y=n(58),_=n(11),k=n.n(_),w=(a=o=function(e){function t(){return c()(this,t),u()(this,e.apply(this,arguments))}return p()(t,e),t.prototype.render=function(){var e=this.props.results,t=void 0,n=void 0,o=void 0,a=0;return e.get("accounts")&&e.get("accounts").size>0&&(a+=e.get("accounts").size,t=s()("div",{className:"search-results__section"},void 0,e.get("accounts").map(function(e){return s()(v.a,{id:e},e)}))),e.get("statuses")&&e.get("statuses").size>0&&(a+=e.get("statuses").size,n=s()("div",{className:"search-results__section"},void 0,e.get("statuses").map(function(e){return s()(b.a,{id:e},e)}))),e.get("hashtags")&&e.get("hashtags").size>0&&(a+=e.get("hashtags").size,o=s()("div",{className:"search-results__section"},void 0,e.get("hashtags").map(function(e){return s()(y.b,{className:"search-results__hashtag",to:"/timelines/tag/"+e},e,"#",e)}))),s()("div",{className:"search-results"},void 0,s()("div",{className:"search-results__header"},void 0,s()(m.b,{id:"search_results.total",defaultMessage:"{count, number} {count, plural, one {result} other {results}}",values:{count:a}})),t,n,o)},t}(k.a),o.propTypes={results:h.a.map.isRequired},a)}}); +//# sourceMappingURL=compose-4617f6e912b5bfa71c43.js.map diff --git a/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.gz b/priv/static/packs/features/compose-4617f6e912b5bfa71c43.js.gz index 28aa952ee505ae6f5dd1e593a5bb7fd263502dc1..7e6e9199fd40458da9052d50b3b20c737b848eff 100644 GIT binary patch literal 22637 zcmV)7K*zryiwFo7hpJit17mM(aBp*EEi^VUH)b|vIWaO~HDYFAH!)*0GcIa#0M)(g zlN`r&C;EN=ia}8xcL_C(p254J(U2Md7Iq1MO91w2F{6&^>gw*AuC8iURnG&+c8CvI zlw{fKT|KTPc`bP%k)lNk)Qc~PirD*o1H2IqgT7y8O#&3}dc*rC+}}BwSzXmt-7^D$ zwggOPX65^N@|=?=Pj0!*f$jAEZ5#%J%Jrpn>*msl#d>=fIEfbq71v6vz`SV;V|Ol2 zBF{;TGn;la7cK{tCDXE(gKAI-P0Pb~&9vg>3VC>@6;w`}rWL_^@%T~Ga^N^|+O&N3 zFs&i%WAJZLKFDYQ`}j%I>Tvj?X|>@v3cE`QO{-7-r%Y>e`Eql^b&^WA+BPdUTdwaW z?rIpcy{KQm>9y*HBR_1aeq5Cis>;)_T5j7O`pHE%j_r9NS2+X;tr@lZLo>>!y-!a136F6nwPy3kIB@e0ao`k~XCQE?8RUhhv)FtX_nXEvXL zr)P3;NKGG^R&zNWaPuY&udBP+sk&yxJQKOeFbd|aahM~8RkkRal(n~K{f7r?d0FNJ3<`lSDPy|YSmovh*wV&wyQ0( zVtnfISNLKN@y%`Q8FL5VYqiWgK!Bow(k`Yz1o__Yz20!5i<@pS} zAjszt=kpk(d7SGv-Bx+u%2uAc_^ESe(aK@u*H!j#8m4NITuBod^sB9vTqdiRFP*>e zT%`HWM4mG`}MO4$@L>=@>$joLnbJMmAXhN&%d*~Tdew6k{ zNg&NVH=xX>Pt=Qnj7nsKg8a8&tdb z?8ZyCQz&P2CaKzEgaHwhJElD`fXl2jtsS!xRc)%%(y0@(F`uB?!a_7`!z#A;+Q^ic zk!4#R5Fy5oBF2wmiT^Az`h#yr;y)7o!S_(&KgSsT!S_I-KQ+dF@ZFa9&(f)rga9F< z+9K`QaG;1Cj?y%(2BA=<)#LAmX>D;5;7qIJIE~yk*nv3P5~;e#-^lbbI}r5>RjY=m zm)L>q&$0tmy}=G7ev&aW)Zjch5ORTPg72$b@&(g6$8|(5Pe^p|9HE0p7morVd`b_; zHsfyt-*((?=(pTRqc8nI7`qLcc-2g3aTWYg*G}euQiTDnfoQG|5K4$uJP1ACjT*DF zE{RoA1ns~w_bodLyr47JbtA$S2g9cC#oe+x%aCGbSHmzFr+hpdwx*|U_y{g$aZ?44 z4l&ktZQPfb+7)lv&R|{UP3@jb6jB#hn44#OKmtNb0JzSe%nF4dY1A3^vCqX--wirR z7ZdogD6)45m5-KdXQEGdXQIQ0&G>q>K8}nJjT#2a;c`o74V=^V{i;0xeuss0ojliR z%{ev}AJ(Q7R=al4^4(Qf9XD6+usVps0ijJYu;Nw|l;|c^hG+ykRAQiMXTz-^mwNH& z^767!mtM$3zkYkBZW#Hjti4uIG@z8%Mx2;tXw#RB0K zjfTP;7IaA|1;DAjeA2c(*R~fVhsm^zIieBrl)zIOQvm{Q3k`b9(FZjlEd4L2|`^=*3>sck9K01a9y9pLV@YH>n@5z!3bn6f7$mO{j`(Ug}(OR{cIZiY3j-x>|o0>+287A88?G*v^Nq@f#0_g2O| zd-xlT3=CP=ihz{@uBJWRt=d%wz$9_c`7U9#l~u|*a@(>w2nz*!oy42qQPiWFxXnfseA{jlY=JvWN;>-mP9 zar?`oIZP7tNpZRzAaOp?MrOia$+$0N+?NkhMNO&hRkf}i*%+c|fjM3P4UN)9^{MQ> zy$zUI1N_3gu6qZp%7Scod8chs{+umM`BfhSnjK|HEoIi45L2)}A=H#Qr!XKBMD8b1 zYawdb!93+VKVMs>uO#yN6;mTi%xtV5sxeR^#A8&sioM>lxuB~6cJcB}LM`e&z?F~- zLg}hrR+~=mmlVEE~SPGBI!pF#F+EJkDs*39)DYToJNQV|dh%S4kDMU!j%99VytZZv$ zWyvw_BB7`16gQG=N{7EAd3<|}xtI9%!p(zUXFZKrWZUC?bm~2lBK^bbITk^h7?eEn8G*1^k z#P`&pJ~O*dou=tB?Ht*ga*kYfip*U63qj?&-X#nRC@$z(%m{!+W1V^Xn3ToQ1rD%E zP|D99Nu*~HHl0Nj4hF*UVL)U#W(71S_s8i6UtSkKnzMk4It*aOKc5NUyDQHGj`N8C zzBlYd*j=xIB0jevum?`hb9%Syc>~x@Ao?|Cr zRFz>x*0k((W=mfj=k~kHmiBWzz8tTSTbgAUKPJxtC(@v)HD*Oiq=q@s*j6`*$t63l zLgk@!X2wL}5HO;O8ljtaK;FjPig838GsZ`Z!@34?p`=ShA4FPo>b1@|$-Wtb`{b0! z5}8-R@*7^eawsu%2ZLBvu;FH-(M|fPZ~(U~NInfO!yM@WDMtr+nk}T$Y%iR2B09=- z?bhB{b|IOX&ADU^#xuRdFN!8?tLYEOhsJ@b_4;mXlwqUnkz&7q5jVR`P?iiE$xy7D zWtn8>l{Kpwiixm5C%p&m1D)93v_aYClkZSpsH)ZrC*QGm!>unJ)6MM7iaau>k^;q1 zkrM|%hA=QJjM(3~Lj4A+@6%T=K3)$;3iaNQsJB`}3j3BTsoqTS?@=B*S33>p73``5 zE8Q`gB`6wW^35_#K8K2(u08l(aVfi3$ekjOejT5{zZNI(ucH(A*D>BPB=XgjTSs4R z9bMWwmQF94a?4mceRQA4$crZyOScWm;ysmzr42XT_X$DSGgPH0GiJkj=vqe3h!0v2B4n|*9{!~Jb`(Rj1-vDx|9?0jr?(RDw&+4;H6Zm_S-E|QxaEd>`VVoWuC+H18y zdLCM|VnrT}38s3@!m3TKGI7c+XF8S7bLusDELd`$E00mGOdQEs>F3135S>S0REYn6 zeR2H^l>@5WrUO;3ZZ)j~d9PIXVDAcrRBn!|XP4JMQ{iA_mL5hm z#ZiQ5`Q`ay6*C)6pKz-~)v^O^eYhz1V-ljwGXKy^Rn7AN_)vWW2;xJLy*Y9*}KXrkvZtqFGkpwZTIx&fc!X3yW55 zvYc~F`_jPX(~%!~Q?R_HKXt75%GJF*>skVbXr8D@20 z17}SXqh25XS-Hww8%)&h+90jlr~F}*$LjZ*qm#l8MI=ABKC><2P6ZSmMpWmk64>GQ zSc2^ZM1c!j2q@PA??nbCP3g@0O~*E&Oo|7l-0~?h5IVLLd{7*&TpYB@_Xf?-j#_8Y zg!%bJ9^0H}we9(CoHA1@89@fhuTmPFX82?$aBU^2GVX*@1S6eRMaXAs?8DRN_!8h5 z60xJXS&;$Mk`-f!;@Td`PS=Sk<(lRSHuqTbp z-Y5i3VMub&uoAm@frWmJ8jzCAOsFRrWdAbL51I2TJvfag=g_t+cblg*9mhVIITuY2L-(jpqmkBZd_WWC zj!^B)v7e`pNhc0Q_1ENyXZmR=c%SjUHn1ev*M8(qx%SFW%74h7aEP4Ue^=+0;hb@} z5)t{~#pn8iWT#@T7{)%*Ei7zGX#~*8y5j>PP9=wT684!{>Nm`iwzA*$IyXv(V0>_t z8Hr5l1DuvjKPcWa{=}*Dtkak&fpXAwSY~=;yrv)1j3?gs6egTFg~^;rgV16A@acWt zl2iQhrPE7UhWT_pxij^?mC6y@jlM#qxh=#s4`=YTW3ysQuJ-Ar2j^5Y_TW@3PB1Et zPB1EtO)x5Q$3)DrmJEyI`o7;1^C=MCSA2@a9G_w~wXG`cj7e>4SlQ?C(%`|krByW^ zXEH}yv%!ewkL5x0ev&K@3o@Uson^qel0CP0O2e~mE>v^Sb_y^=N7$@|CMX7zU=;zueK}KIRUil$Mq^C8C^Y z2atPxlf@PLcE`OI`DaLsQsKK8@atNNcwLC>XO+0B0P2+^Ys2&BYUe+8#4-$Xoq6{` zj(49dcMls!xb!2&;ehdQVk93ns_|yW(9N>d-pramT9pHcj%p`wQ`@lA)6a&CsL z9h#(=bE{p?Z&ikJoyE(x>KB>@Dv!8ukP|IqO4=O7$ZMiphmKPR})Bq#M?4mDY2LzfD{5)gG7B8Ts zL>u}m-NVaHU7u;C-oVtm3(L{CRGoW&BEyB~Os1caG@PGTE>DPx<_RIc&T{|bp*2}P z2XqcchaG}uDaWZ}bphU0Y7ddxNbQxSZZEgo0%N?;~9oFh~^yv12oan~-8Fc7G z7gOKc)h&`qT*jh|-Sd8EC)&$Aobd~<>$DNi431%}Pl@BZ?Ws}JDwX+652h?A)EI0V z8WLpdIF8v26YMt=Ic36=a6o63(M0mJD=2koWyg__MH+)B;tcQr5txBH_1GFioqA-Y zFsJUNWHX(r(+pY0ymm(N6h-Nw$lwlqfL2k+Lx!_+NMEgxGYex{5~iUlp&f?~IrH;} z4yAxrJ2XF1vHG|%Ku??uOwLOf8!0_Z*vm}=>uy0VLPN5HNZcp&V3OQYiJNNSqZcG5B=cmCB(j5;#q=#h zP7D=573CB1?Ci59CcQN|cdh)iw~F)5DqDV5=_IyFR-u&x1wb}$j$L)Ls7pM2*d2{3W)86>Ku0)V#hudOv^vd9mKVx|xxA(rvqdAC4X#R;hzRg5OUt8g77k0pi)d7rU*wg}InUuVUt6P#s90 zfR-jmfDo!9fb6s=n=C7CJsDX!sj!i?MNnR0CXwV}Jr;OUkHh&0B+ttAS)rB+lyXJ+ zu=V4!iN3*hRgKj1 z`G5Mg99gzH!I1f&cLEv<>6d1BhzXa}TjzWzLs4?Y?95q>LScdoo#AEZjCf=Lmv<{X zph`4FCz0eIACWU1DE)<~W%6QrZk!#yMyl(VyF7C;vuoLqJnr%R+CZKE*m@gjKA^y4 z#Z8CL)dOeIHB(tHb%x>2ng(vVUM!Z~F;s>UGgPj8h9pTiHA5DlmKlqTGe=p{heUfd-Kipv$6W~O{7jlO#Qa1dC%QteGSF!2vPN5hyB99xjnQRG zR+a90Wlx4uaAKv`_VQp$vOA|-IKRmAzI0H}q*tjYz);rzak~8)lLM?Z z%PrA3Qvl}(yeaNR+R)qL6KUkHOI4n@2y;3F7`ypK-rGt4w6;L2<9`h%&-^d zlx4^STB^N4GbiSWFtV*=0NyzD(h z(c=fXXR|-iyXH^FkZ}3o*lvPK;sURHiq6rzeOk5I! z+qZnwL6whWp+iyBs5sYje>?lQRV~+mx>P+rm~*rco4my0*u-DJ2E|uiCRG_+tjb)> ztl-YH3oq9Gsv?iB_4%~rkqSVP`~X%YWpJ*H;pc4H{`n0EmhhrdFZR0~8Oe ztnvp!!le=mniGcA2L$m3k{u(*r*2o1P%al!sd%vrbCyJ!))0N<3 zof7uHu1|6Vb+PpPA|^)W5HB%Tpf+m;Aa!H)kH+wgrt1V~h^icj zsyifyP>ROsYONzyRJ0F<<&OQ*4cz=k3WdKn;6>Ss&!0C+L$Tqi}^ z!1GtHUbuYeN``#vQ=nm1*`|$7i5!=$e5F-I(r(jMw%qBb&~1O9l&pL4wb+fWhC}Q- zL8l&79j)1(>si!_Fjk`+vl40DkW}e3rCs$=&si#%W0onMK{uuVg+^u%vDR7eVNrWRwhn_w;Asq^=fHfZwQqbUl9Z5?b zld2Ek(NnirYh}t0+EODisUmV3ahKG9^X{a^Uuv9lsvJ_>ou1%Ot>D*b_#sBPEWOVv zxC_a{m{oYoNON?voTx$40j1UJmDNdyO{>*4t(q^BO|fQaF6DJQ8}gwhX`-Q%zmh5{ zt%9Y!CWEF`@OBn< zNw|e{(?R^P7A$oaJpy-;tvOvj!aO$PRX7hgkzoc1Lz{JFiWH0A?~T9N z7yeYS#mmA8?L$-876G5bO0>kEKucOP?{k%%gQU_+#j^(HpD3<&$#_|Z0PSZaPiPMW zMl>UbiwES*r=^v$;SW^b(i|S3%Cm4jE31!JUhC%Lw~$`RN!-4?+Ra#rUPvAWusNMN zty!4DzWX2Q)lRkAwSjCFk%`?O5EgP2krS`o1|*N`$7(fz6P3?CBYtM@ zh$U375-g!(X-)Ogp|mU-fJHe!qZ{8T@@xw1F9i}8TIkbOxD_-S+GVIt$Vo2IQDR`F z{emIUqG)x43$GZ5qr-*;1lc)km&F^B&;Rr#gNfUtV%^c(z8s z-6;&W4JxwO0pWn9Sm@>lleVfD5@nD_Z?aUcl$|&&yGA2_`NW&5L%6*~rg0c^8Y$>1 z%0Wxg%3$(^6<;z*qzW|Hq~qV@SBWG6(kT!i)|D~N2MT*%Dm#8#Hb*5F5f0={*K}9A z8g@Fqn`d}y-IrOaqhhY;Ytod*%6NMj6B8A)KH*LDNrmSS-6RaFa&+SS{2z-x7M7Wt zPCz%EfVv3&9+{)D4kX`GqGgi^;bMspsGfn-0o=}C?7xs9Y!+a2AgSPM) zQWvSr*d(V;$|0x`TE4DMFgkwNbk%!D040(TlbTjZXIGY@1L+9pko6|)9c@rqff5Rx z-h%BXX@048^Kp)OiY$|7j>a12%AD1-eo6y-rh-}ODO@swWIa>b>Z^-ijR+zo-P7_Eg&DY?ejTKS`AI3l+8JTB_o8}(d+ITw)8EQ<| zf1Teo_LX^~!F3y#QPXPob*r@4tIa!1rU1TTIdfOztkwA!52wu=qcv6ET#igM(=#*8 znyZJJXC3Cw(Ms5L5@uKvrw8T7&U&NfV?v_)^=*CHzJSdrQF}>kaUr>WxQw|;=ul7-TuXG?rzx>g(n}pUMx^M3a-tc(Vz@i*LJZi|HR|LxF#Wp(AM*$K z=_oIxCk}hW7%R7^XMla_bz)yPu$&MxvwBIiuAQkO2b1+sM2iBo@dT*d(no*{m7NrT zdMU_NQ$HvO3nY|-N@Qf4;`^(pj!;4t4oyZFUd1tHV0jUos!>l z13-v?aW1;!A=9<7{m>OLlt+={uu0}H=+Fe<(sh->UV}CdV;!J-d<4S01FcWYtXwZe zOEjj#(IlgvrqAs}dtsn0>#PLykDy;UKNUYL$ov1se1(?y5UE?72o>O-QL zM!7Tc>)Dhb^mpPvtytvv03aA0-D z2ZVcQS=hJwk8}S5Ql=*)_H{xkj^Q)I9QH+cTkdF(&I)r1Zb^?wDrdUM2%1#>#t0fa z_mDEZ5X9I3=CpbYnM7)~Ey+X%6myYpKvb*MG>afifEW&gR!J^tSTUnZAy*}g4;`AT z{NvYt^xtp)%C z*|L-}pro6n|Hx{GVc7_gciC}h*qWQ4JB$6chqR1y5O2DeUI&#N6Y7u=F|;?eCjVS& z8Bp>_E&HPePY|_7T_%P4%6eag6f?Q30x*I*{U!-Xl?DH$^rfR6L+PFYg+FX=k= zmV(?R+J3HR1(27t<7|n%_vKU-PTX}};Qu6EX5CmmbZBGN@#>R6l=Qqd^wKc&q%!mz zF=)`GNVpz6V<0=)GScoe(!McdQ`fEYzk`z9CC9dT`R&T$#}A+#b@Wjl4DWfC`cQRa zN=jlyK5xlnwmxM9xms5$|L6oVo~XPAlUJ9Tin!O)nLC3jbpP_LFMpOkAKNqPE|lAkW*mp!Rm%t_;4 z(#mj+Hu?>9aFe=`YJlZ`>#VUT9`*3AW+|>MaT_#%oqg$QFX(JMlnE6~7r`!_ zX@{L@?6kdQ?t)g+@_}TixFjj zsVVMa1Q}pz!nzni2AE7g$0gz9Z;mPCVgwyz%A?D&JR})xrbKQrh6*uLQnsW|WQeH< z){>f%zo~gC#c-wNbu^kKqdHcSTG7tsR7dJeu~FgzsuwU)$(VG~PZI~pFO1r#B>7Bn zlF5ZtmVTCaiRO5w0wxEez<%qbStsd)-vMdXgOfJ$29wm&Am33?BCSeZ#9r1ajTJ+k zk3%)zn$JVaSmvalDAjh9*@G3i!)p2JOQ%nd6hk=z$SehS#8b|ysL9OH1CV1|RD)@o zKGR|984fyurB|V3Jqx#rCG~a1x;b#8$GyOA1-L5u=p5KzpR@q4= zU9%x@5Y-LCQYgkGdLhp~Bg?}^Bdelzol5BggmNBuf#VNbZv9CO?PH0Nc>I7dJrm@) zTXY+`1P_rFxf+IaXPV&%H~K<~m-v<*1>`5u!fXw)psGx8BnOL11xWJHW(Gb}cz9XP zu92l5vp!TSlYuEc*ejd;|mqV1|-$5)%jTMGC?Tf{!7>!;G`t_hIm?USl-;~`# z7eMpl3U;{MBWr2*r<$TGP3lRrngD|3j+?Fkf;_=%(z*mEkA_v68SO}@TbvZ_0*| zebNWJN2JNaA)IRL9)LPD_9wJBbu-HDB-aA0Y_3$1wnqJUFm{*`cs*CH8?sgeZVSdQQ~ zP*C*|zeK~YtLMZykJe5qdCtX&ch-;APXBhkMWY9H_G2`qYI?RJdOafZ7IgZu-Duj| zSY`Rd#f;o(vnSTCP4nA%Xl}YBnuQl?(ka_jx@ih;)L^&{xI9ixSspV4UMIBDS*T%$ z^h8flA|L}<=ymV4v4^&mS!-kSBYahdq?p@EiaEDFPSEQ3trN!0uyS?(r;>9khz+h@*wiJBM_BCt&>tM5)npC*fRO;1=BB-(e`MA;GU zk}tedlvS3r_*f~D{3bc#U=P(t9CN00aIsoRWV6s}9@p~i(LJ-7MLby})knEv7 zXA(}3yjYnY%d7<7_<1%4RQumpr{9)IcUJkT=X4#C*Me3!O-S&H(n1mjXWiI|JieAu zP+US?kV$mGWUu`xokaIMG^LXgdgT;`EKVp4IXa;*N)Aa;}d)N z;%TXaa!DznBrum(9I`km9Z14~QjG92`(MmlF5Q+|DQQTuYm_f@kZ+l~4)~7XosLg2 zWhSshX$1#1-8n>^19?2R>BU2!jyrQ+e_+!F$r4hR##KDP*^U3vaV1(0z?JBd&NGs$ zU$ppHW9e*pQL>Yn;0gd}a+rE}>ba#{Kj}-wyhz7uFGEycAVpuL{Od6npiq%iRi(c0 zn&F6}_DuLsV=1IHH~+WL@6aw#TTeWo zDQUv@Z%OY_Y)rYad4&PHx~F;cL_upq3VukJL|HR07q48Yrsm+jrc3P14b-SqV`{X2 zjj6@PWXd#Eg|(v8?32N>6DsYgbUj($S>{(C9_Q_%er$=ZtIEf9-2#9b^Yq;!?A1>@ zyOZ#VQ9sS==Vy}b0s&d?7alm3s!W?@s!T0~TQy4`ATA3$r#UZX zePuUgrAF1c$ATTq^f|{4lzOnaop4CXxoF9gJ4)4tu^O^Dlni`E&DOZCa^eaS@_MsN z3|QlczV>qjbBmP&=g6adHKi(b15CC@^(ReXB4p(5m{$#&BH%-_(qiQMH+b6lqkM{Y z3e(`XiCa)rQ!q<^mQc3`)wI;zucoDaM*Pg)5vOmnK}OS3IM%e}6*MiC6W{qgNvqzS zY;jPgLn)Lxl)U`5>Q284OOttz3$E#m33EV3zj_RM)bh;nBgmD{itC?UJF>R5Za!M6 zT(=i))D})R)(@MHD)(A-ZDIYe`hfqDj%OJkTYU6mM-6jC>n>F9XA!LB%e2OJ`9Fhd zzsDW9SxYfam*P!AX7fA-&AnPq_)?30#3+5F%%unMs-zIb_UUywt*XN480IHxbUXC$ zGP&u6p-vE@)9u*JMf5TeJ&wo<&*_SDE?z$quTSylqz#bNA(<|ItF3cxdr-+dME%Ix z&C1%=VRLPCq+{iqCFf^&Jz3A-zJhg%R6ZwMUOAxCf5Tlo91L( zdW=a=VY+dHP{_gZk+tpG=>-^P*S42xYul%euWdh8TN^H(I7Q~E+PSsiQms~7VCyk5 zmrk*Hn$7cM9*21pk&b}C@&fENUaR4B?Py%c@cjAn=jZ|N^XJ*k$(A1DT$j#Kx&hS` zF%SLzBfmHQ`)ido^W$rWt+lna1zo_kGv`2D}U|D9ia_=P{c|K%@=4{!aadw=$M@!@~_>wEv@X;}aD-t#}W z|FiFl55M)+uV4Jq2j6=BgBSh+AAfT1TYn=y{M+A7tmYeLJU}6|KMwXD&Bkcuiks+)_c$X+mA_n!S*xZXgV_n!G1xDfk0ux?WjnH2h? z_n!U1d(V9Ty=T8D-h292?>+Nh-h28bvHSXSyRW~z`}%jq?yc8%Z#}bn>l?ebzO#Gl zMSQ=w`@Jvh-ui2}zP9_lFYexYMZEikcRzpk)w?ge`vvjt=ihz)-DmE;!H&Bx!tYD( zKKJgI#JkVJ|MRf!zHs+%;e_A2&x*TmAlZxJ?oaQ&h>#x$SYNvP5(OaT-5=xksz4Uc z-F<@+!1X7B{NVUJWk??{-TfKIfQvp~M5(V+HsbGJ`1`N@{a=Z9p1yPY&KvJMBi{Mk zJI}uJw7B#3JDD>(1+U z-V}F!dgo{Od|liay4ZNT;s)>wal;!7LNdh-H-f{CY#8v1#m+DgAP16R($XH5Zcf$~-(@kQry>mkV4G`M{lxd4?FTk%mv|+XBebODV zjbahrgt3*h@pHshxP@Qjx5(_pY{CdzvDb3pAUz6k&mV$95nFxucmZ98Bbz^3;TC`3 z=lh=B@4|w+=fQB{+YMv<#FpztWHiaiuOyR=Uo-X+mu$-4Z8~;ekb;h`8<7U8!1eW~ z*dmcBHRoBl7Sl0%%bfabklk4HD@jlXz*c$Q^Y&au4t$+Xo5@tH(uo^lQ14 zk-b5+a*+r65p%Gwe)*V0YJs>?J{>9rtsmM^iyWwl z?eJT!u^0~U3w<#RLi{`~5YqroAk|{12strqB3jc9dLr43MKX-LLzqDAVS0k+WD;%S zH;fY@CD$pZARb2adhFOsx%9}%FS0zs*~!t;Hd2Kbe-$)Z;wl^st zvUgw(@C$tk?d^mxTjblfG1rnFmcq73Hs~jvUW7Koqy~5cGTLoBKmyFj7V;#KsD!+2 zd~`9rB3Ihz;-uRWiHpHb+#v7}$?XGCMbDst?GPPjvy*5Ja^UB5gU}BQ^9jtaHqF@eNJ8XI(tcaQr zqkb-%v}|BIy>94}zr$D)IRx>RL(gX$^lH?XE}lwoMcrYOZ88S57-3@oVyaJsWCIk{ zYD!)PzCw5pJh$Ug5YRRehp1K#vV)A_hDX+5 z!1=*J1|{u!y|``)InAyPOSVK+dp!R67r)v&whrW<4reg4FHVhde~ zs$!YoqwlpShpz3m+dh@-U;r`YV?cU)WZ0Fxt3ZFD<+oi65RH^fL{XAZk$Vq{vr z$1V}M+fkU1O+30-*|0Eo3Em~_gdx>u>F{AGVsH`NJ9|0R2SEa z*%KDbE|z)Zwub#CqG3|NjkOj~5Sk7!GjJ&@Y-~Hy3L~~%UTEY*G}|MC7H?!bG#j7V zbOgWoO=c5-n>lyXew+IYrgSrc1P2=) zneeeavhA4m5V-mSI=I6eMOPAp4L7?YOcMO!A@Gk7O9CclE4Ep(F<|bt?Ab8t*pvxu z{D|pKmV-hS3V_%^leG4gn^D?9wel z07iQY@!D;`BCo(MXy+eqbZV}`&?q(WJC!q_5DAelbH z3pnu`^0pJW3FEV{+rGC=Hg6HI@k8~2VQ};L${)FDzHL#r1(>%mIzSs?5zZZ8sZ#y1 zPF^%cK1Rgfk(SGr=!1Ib0}%Cn)Z4?fYI;OL z5J2n`3JZh2&}#=>=a+!{btx?e;FeyAwH4mc=|-^5G{$c0Yj z^DQz(-@){Wsm4wVb@p2^xkMj5-Ul*-EuQcyptUHEHXxvKF}VPzF{j{Q6iwQ+z@-b; z06&@$Fwtwog(oL|J$Fc99_@Ot+AvxXKmsk`Sop*3A#fsCE(`(}{xAUU;q-)`paWqD zf8c{qLZ?&n@F9F)S1^FPu}N+aJV+W+7&^?SlS08~CJ`(%bV8q^0=&Wi_JJCJYM@v>3dcqzleb-or;%%nb@LecUW>|+t@b-jREbxK z@1l!fP($2yWTR9UQ!jF0qu&LMhi`A~P_==Z_`rcfp!u*p&xw zW1GCpXl~LT>T`FoW%E4s3E-321bph!9P@$WMS%5`hhux&wg3)~F6|A&o`g6(+U}n%y0=p&)fx(8@ z=nupOFuV=l5gXWCHry@O$2{9`lN*Tbx(IgY*AyEzsEQ4n2sPnhE5@t0J`sBb5GZ+|&r%*o++elY<1CPMHEl9IxobU-0+#u2tvH)Kheqqe%i%r4v#TDae z16SfD!-QNtK@-di+94UlBS4WsYe@WWbez{`ctUhMIbpP#Fl>y8@OnV^gy#_`_1b;m zxh`^a&<-lYX`+42zUb~?kzwcS?qJP}?yy4yd>52MH%1IXq`M^l0W+Zn3pFfkxoqPX z^D-ctjDbh=VHeaBB?C;{A`BZYEMmgyNc*ZQU2JxUm%*-Kaq#~3Y2qx^T>)0GXPSI_(9o}xp zA-c^_bZsn6A^^f63d0hixzr`Bu`>iF*1mQVS&fgM}{ZfLfKN=yWhwIxbcg zSpg3(*)VL;X`wMq?}q50&D1bJ{EkhXP9_ZBr!KGwdm)oM0)@ACJkcH|O@QV$HYAVG zK)3*^VBojmN$wZ9XjI$Sv)d82S>zEI;fr6w^RiIuj) z2wOi)CShQ^6bvBN4nv>;H5kh08JLu$C_tkiQe0%L~?g_gv;m;ENTQO zG|5vV7k(~~bAsMPe3S0qu4rvW_}LxN8dCLPf#gbHp^IAdxWfPz@@oy7fQK!B5+EnQ z3+VC|Nm;>x*kMShusl#gy0B}*K%QZ%Ls3aRE?Ec)ke|1MA0`3`b@0y2jv*Dx2yz(h zC>N{_!_AiG(uWN^5(Cr%>D6*k6_>e+WC(N8U=V`23}2e1VWKe5RS=}I>_D3EX) zD#axz1dAwNGO02yC8tsxAMFOnZP8vHkVPHdqERFLM=)p{Ths|QK%#Jn1Mckf0TP`d zhCN`?*ohtCL_;1pX~QBX@eZAcnR>8+fhO3=!$7$m;)_bBaEK_PNgdNiE2L=s7!(HyGYkn$ zA_wgiYzI_!zdvLqJ-K)Rz(F__*@EuZcLItIh}R*zjb$oG(J2L(Aae(RCfeg02KJr2Fn9Pli;yyXuXeXwDhl4OfSeQq^^5ODB`u0d)4Qv-69bKA`L8GX97dBaKRJ@H*z-oqp z@_5O@LbHH&IZf)eCc;2VIK;~Fsh-5W<+f11c1&ojL!=TtQR7LA3`!C)%y($3rTyAX zZMMj0u@4ZofNcC2>mUfLoMgMqwRV69vFQ*PRh&2n^u3Vp+mnT#kFBuh1AQkqC8uAT z@@tCbjjm`8Z`^>fgC9+J07zD}Ky_mW%nooU4|WShV_Gz$VH^{-)FgftD$htZTXt&; z%dH9Or=vE8Cb8UU@aXIZ6kEcxp$VAN3@HX%UXLtPzlj|zCX;77*<|2{-L#3>*bFf~ z&Cu;e631wUG;5l{fcPCvo1DIA_P6kZ+ozKJFr7k`Gu1w~JWI4Td#JCx| z1t9@V;MBwqk|qpLMokcPP14>inq3-8(Zs@UqM_V<+%;~5c@8T`e3$&F7}p*qE1HS=%^$|ZJ{1?-| zk70q;6!udmRV;0AtA(P<+SiWnob&fj5@%kI-ix3Ca^C{TO) zZFZyWiai)86heP$ECKsTf(ZwUa0j|iLWbP&;a~&@1%tY_DFl-bK*9Ebo`l4;uzSEJ zfsYV11PkaH<>Ez{day97Uo?01Vd^Qu4KDN*8;qU ziL6?-BX~a$QalXDOf zmXn1aqZ>AzCD^ttLfY!g%F6Qf&(;=B+Y2`yTlkNUu8WVEreUVS9jmKl(jEW%Yv2C= ze)clUbG-f|asTa~eE9Xxk!ZxdFMa3UUwv2H`}5l$JpJFuy8p)8Bu{Yf+h1nuTfY?l z^V$FWKcD@o*nQ)<-Pgad`}*IA-Jkz*_vg>-{`{M}ul>2${priQKYe@mr?+>1dTaNm z&xqY0zr6e7w|9Shd-un;#P02vcW=MFd;9k8?OVIAensrQ^3B~>ezp6`U+(_sE4#0J zZTFRz*a7pI-B)hIjTm3pedWjF7(aSmdcDZsw>b5Wc3*j0?EdiO-5{}>Lj zd+X)hTW{~)y1o0oFYn&EmHEDPYxmYGyWjgt&P)8m=UCq0CGqatcVGC2AKd-P-IrJj z;oZ-(K*CQ*C;=aLe|Gm(@$NHsUnA@3cb`MN*WUdSNh`d8Ko(nggT)q}5lHj=-B*$B z2h#Z?8T`__&%gU8cYh-8zW5Jst0Gwjf*mjXzkkZ9N&12EqYw5+B|d-mO({e10vG!R zWhrwfj~}uS#rL%s1*QBEviZB)fA`(L`<1KMxOWf#-8@AX<#EvUSYM?DP zhhme?%EcxfcZ*F&03Hu-2mo@dP>@%{o)~t-&=$!Jk!%T|%?TYri-Zn@MG}alFA_Qg z7RiRdx=1=AX^W&K=ydXih<8N1E#gf9f)CJ=PEG0DP{e_V`y%#5+!OJJi0LFx#2o<~ zA#MpEnlYVEiD*jz2j!C`f%W>7Ee1Pcuq6hGpc8^f3<5Fei-9i&Ju&EtK}QVQ0yH^5 zDWDc0Q!o@kB!H{~9l@RmYzezq&=%N|14jUw^lu1201(#LE&H3IKNS5$VAt$NqW_ct z76E#@ABcWm^nKCqiGEk~JEGqf#C#<-tLWQ;c!rz89}2)DAOwCSd}1>S-w}RO0C(=) z5WOAI+Y+EBdjru6M34AoqSqC@j=-L}F%TP}*yxK5R}eQT79d2ur-VnGA>s7}h#&wW zK=tlWbQ95yL^lxKzUcM@h^5Y!=nO>%6g+VrMCU2d0gVpgy)QaGhF3{%I4Uj#e)fX*L5*r{bgmVKF zf^fElvn8BO&`{iAX@_aY!kT2rl5_V@F&rH z3OEd~79cD@K16c^2nMhV(FBUn2F@Uw*t~(L0s3RN!LGH1Z5A6V_E7AQ*dMV63fenp ztHP#&%>224x#ePB-^(gEG%4?aY-CF6*L^UMAJ)9u4Dkw-ej{h z^CNlDK_xb*gaA{S#nH!eVu2)JI2uPIk-(9bC**R|FJ0l0nGqp;B8-wtL&EZwk6dSA zW|k9ekvM6sw$y@o{FF^*(_I@b9;-=#)e|IBx+n!!7mveq7f-TjlX;ZQV>J?3U3ADi z%5EEG+daBS=J8Wxo;V7#U2COH{{y1rZJ&fqfdb`ZI&)H?B)ht{vVO!fGxDjQvI#A9 zTTcM-2`HVhwpPjXO)>A$VKF=WANxHL%zfnMpf&pA`89z#Gp>4}@gpuT~+_*sxB zr4iFmnWHO@c&0|r#h@f!+=z$GzQM0Mjx z-DfMicXZ{W(5aPqn(HV5EYcNp>ZE!b^|XAPi~LFZ#_>~9`-W1!aq5(On~U!cuB!Wk zIprItPAz8M=4!CE4HEZIuTFKOL}P=!+*Y;g%7s<9Z21Q=;+%?Tj4V2*Y>=2C3GK+- z61y2UK=oHCteD5A$#+Bwx4pKf1b-(I=EBO}<;n(+EXkdcc?9;R*WnP(Nj+VyD_HUt zlG|cg<7i29y+$4%@Rd*Yx(IamD%QG_DK} zqH#st&o9%NLdpbKi)yNx_0wkMP)+MgozxaGJK3VC6nG3L6nK;>!JDb=J9D|WSk@)E z0Uh{BrD^$HE#|jR6=i(6a+T+z)R>*l#jM(F!;m_#Z^{XfRZ=OZ@fmxW_3~lmcHC3q}ox| z7g|u1*4`qMg_^v$#|qO9dDR%;wnSBy@#)JK&!w6Sv@**1`Fv|N0E>@ESbosP=5~iY z8=a5+AdTl*?$Pi|m#0>7=F2r9`R{gJ9saoJLaA}Fpl{ktq0ymkI2k!{u9?e_4tL=1GoL)t(NKb zY_f{>AnheFCOO~Z>H0P@c*TKRFiyO8Gcs`>q%BU^DQyXzA08oTj|O8l)0!Y3rs}&% zH*6UQ1IYvGb85>ZqO@nDRI~?a4^?@AkuGzrbfa7&tZYa|B?_0*o2f-sH=bniCpN3; zk@+g5k?IgqYMJ??sK9nYd9zd&#KB!zGx@PqRQ|DDUs$Y-HCt}iH%P1HN{zjby*3X-3kXKVMX@EnNQkM?SnGH! ziI|l^wX>p{(yF#F>sBvcI)CBGi$-1*Q#96JRN9SNA#L#i;>cwMOC<8ljx9S#NZpc7 zI(L&KE=DV31xxfT)hl7@ghZr|HJBNX0^-R{4c(d;tP{ynl`7~S>r^ME0>5mcA{V(H zDTijrT%U}#M=GU0EpQz0*kmeJN)|f3{f;0D;m848Npn3rt+=S9xQoLAk7{aZ{b4d$ z*7<2=eX7tQIo4G~WNc9#Rom*C70{DZH>}_XSA=urUtb~Y@#B&ubv#uFt9VkRDRxyt ztPQ0XcAFD!D21@6h$o>sXO$t8oRktUDezEL;HKmma0!MiJ(u&zwC^kkW~EC$pLPrh zitBdE_Lvc74?tXEX>tX4eomI(ELU50O$N+8Di=7X@6+s@NKSrbsmXtwc$CqlyZXDR zs8(tvl!IBWZ&rp?#t&z54`o!YGAJoe%Rw`e5?CltNg*W(AByJGoceXnnfV$@eX3iP z_y@5w4yA8;Wi(-8%_Ar*3(@<5f=Nn?WrHS*VQOC@mZXoV6n4o}%s&|evqQ_v7pw04 zyizx-Lh`VZ!pxNAvY!o@AClR}4h-P6pY4ENE87!}6X$0oN>NrXCaE=2+-pg7rQL8C z@okW4DoZbqK>}$SbjF#buQI8uNPgbwE!cE^FfA_y8Z5b^7Y1ci`py{7WR&esFME^t zT<*efFso<+9|tR$Rssr6i{-++6;8JxHNDp52i=RFR<^ftIfcpf%L=NOmM7P{rCR5W z(sfp@^H!}OBd^VMTC_%^@ZLtGNv^WkY6UHD2U$#+>TV+~xE6B^w4%==AS*JQ1uOHh zSFP+#Qn*ok3?x;otFh%o>&+c0ZL^JBsP>&vRBn}wNl#78Y!_6)>dZ@&!KSEqxz1OK z)eDbLr(nPz-9({Sfcl`K-c6~yk zdJ=isQpnRPC)grv>R&$gECAM5>Ssuv#^f*t; zPf<^tRWrA;3JK&wJXTA2S9^3sqft-?0hmuQoybose<}r%z50 zeI#GdRPqHo9MB{{r3jBU6K`2<=R9ii@VA=rFAkPG$74FCwg2xE`mX)x?2Yk{Rh!XO+luYaPYNtwpvKx#}5^BR*m`|hzU zEks^z4N27F?6M&JRJ+7fONjl}Cd+}&$#`=r9sztVXXsCsWB6Xd%kAelb&t5)=wF}c zF=Nh{RXfrM2b?(WCU%KLjt)p`vv<*tYE=JGDOA1BDp0Co`Rsdu!mmB~_-|=>bVqAg zB7CF#c?;Pq5BYLK0lIlK(sL9zC+B}W*C(+E;vgy1WR33SFH z6dz>X8iU}DS($+oju}50Ai7V+kF#7m<9xz9<1pjL$ufSN9OEYgllT2Xk$zfLJ(sK= z)t>e2y?Wm!|5Q+hr^5o4xwQ1O9pBMEE61l|S}ALXQ>#XQvPO^1DDbaEn#}AoJDhiA z&!>a=ePaD`@Jgkm{Bf32YP4dS_2QGm>HG9gk+8Is=ERU0)uCsYRl1cOB+&R)GK z6O=yxo<0{F-qc-(NJ zQYVkfI)NgZQYkraO9VJyT-J$dq^ zB5qGC=B4b3>(=8G4MMg4)wym38dZ%AHbnhAnRbNQVbiHy?v2!RRRgmrcvXq1^+|fP z#6G-S9*WY+*m+b z{ASd@Ij#OFYCo?3*sHAm6QLN}->m+b{ARv1-kh0xN|;UvO~UVpahO^STG!BR-%pMA z5@svZphRA~KS86Z$W_+WUL??NN>1)vATKn|>F)us7~8kz=t(pM97l7kyGDP;qtRG2 zM{b<;cU0SHe}WyAmG0_a^#UY`FhVqn>BWWkX_aNOt_nvNLbb85hS9j9;>^@j3+axlm z0om>At9Ktj*p?#8H<{&^fvWmy1%1f^Mg>i8epZ4P(cd5c6R#dWe-w{Po@yp|1XyE^ zR$-|iP+GE7hbMC?1Cj9PF~T(Aghv8lX7&#eR!L+J7{WYyi4d0N_|dZ`2&ZQ8{3XJ< zJ3zQJzfaA1W^oKqVSb1Ye;o8C1Vt=GRQ&0 zso-NKXYq<4MJEu4XHFhgxK{M%dyrCK+NoxDHpw^nRmX64@Wt+*d#P}*s3+pnc1W<%dB0}egLiDO(tetVp ziJG#p{sor5|9&tdqgS?Tq~+e|#T&yh$xsx&y}bPRDa7ka=xqpH^QsQv75(@l6N6uFgIEt~ zu*s#c1MS0SrZOh@3dQ|GJA1$_SpT378iRUSfHBAzZK-#PIXFN2>5Z#`Rn?gB48F&_ z+Jbyx8HoKLUw%3}zifbLHiHd@dm+00+}8>kp=e4*xc51_|KsQEf)%GTs9uG5PV*8} z?Do!GsI(M(VuGmfT(B&7h{M+*_C26!szckMeN*6E+;0dnBD+K2pN>LEy}N7^!cer0 zOqARNhyC@jZ|VQ6+V0uDf3dCE|F_oG!+lHrwx`sC8fy+x*|d9Juvyu91Pd~4!)>qb zq~oVL(S&XZgHiBnWxt8stWY$Z;- z((xlz^Pfiu=Wd_Y{KwHByDw}0^AzEU+ZPCrYd$q~`*F>G9=|XIX>NfY8mN(77#B;Y zGD3K0DHOstZa+kL;Y)D{`8`ROA`R zHGP>CLc!1u9%)Fsx8UoP>VT<0aC--2Fk?Kk#7Y%{Npmdp5zgVEG@wrofw~yl^9bwDQCd7B02Dho??}}k&-SWW{3FUiTpD=kw-^J{ayZZ zt86xFYRD6jWNT<3Da~_23&Zasz<;-g|Fm~5r8-gwAuPz0@+^l_^D}`~+=3KR6qYvC z!U%{q9zhfLqM>SIY-rkw_c_gqB*U(y&OSKbbQsffDT(E=uFLlg3@l5Z;~tD7J76wAr_(k}w*^kAi31&=kB~#!Lhw(gAVX1aDZ~nvRe4U9~0aiL#@&Yi1PaH{Ax@LZmx1U>nf+OkA@omfp0?>=n{~G#1Jx z>9RF@jd=ouQ_bdZa=T9Yi2GZ3^r%rU>(=>?G`1PhgkyW-1g5C+w{Q|6C&k*DX`z<| z5ck4x;QA}e^AC`Mae8GzTS*)MVQN?wxu6;2lfy%MX}$BdAaas+%=YL$`J-xgh-WPO zTx3+Yp9D6J8qthJTB`$31Tst#>t2k5Zc6L6dZxtv;-rCD zNT{<~2h%=z75TbsUyt?c$~yuDRHoDD!9Uakbo2jb7rUu2jif8WYBRKiAu{TKO)P!!#&H~J^J7K}$>h_Fh+aQ)>p>q4?Q z)nJ<4bm~r1^W6$FCJpLt@hj=5eL;DMS7}a_dPirl;T6Z0R}6=qIUKJ&ZTc&iHz5EeFCYzlr-@RA`T|P9S6R{_NYy z4hY37roJ%6MmfaYM&faq=RX3QOm+P1VavAb$J-n;UX=P)RdYImy!qEwvr|ehjrUc? zRFTuAx$c6Su547h3GZO6$Y)4%^n8b4~LC6#k5=QKPWR+Tk6#`YaH({{~pFytM5_3eXO%<+*QC` zg4eccOR#^1V~%aNF6_e|9|-e(@Gt5G8JVUto{0rvoP+$zGCf6p0?us98WhPny3N@t zbhmMtiHwaINY%d2zgZu5#Tb=Z3$D83b`RsW(e=Nnxf0&CjVS$BWTMb=RwG%8y+uoh zF}iMo6o`{WlP(TJ5Ju8SVncC+A?2ec|NFi-mxdxGA4mZ#P&l0Xdh?F&8`Tr|uip1( z@B7P3rf4+ilT%wU$z}zYeT8^|YM8VxYK>#B**)mYAw{u{k{8aTuh-qaXSdkB>Ncks z-oSafLv}%%ch$=Bfb&9n!x&SAOx7VWnVPkUPKHV+ zq2E!3-@w#UrUv>3x-O3&(X)uYgIW=4AQ&BQMI!lJ?+X?oqLeMYBJZY83h|w1UbUJQ zcz|rQw-)G7^`=6k)EHd9p|8#TeCIT)%p}VTmd*H=MTmKXIyd%km6}Jin}gfwTCP)Y zn1ha)zi=Drwih-c+4gESP(5C)RVTGqY?!&$dRA+-mpOIRTE6o&-9}X)NCx!L0otQi z>10$<5hsL{rKl)?fv?9Z7Zo|k;*QWeH6*UoDCJD0C84QCDYq(}YW8*r;-b=XLYEf! zTWH{KN$5dD%6h*$IEv2fH#g9cN;tHMxG;Cy8s@I}?E9a5%@RcF8fbw9rr!=Pne)Sr zYr0M&r{5R1zGmVidTwWaqn8FO1JJ8|%R*SS)rc=_K!N!!yAg7&ur?rU|Fea_(8k;v z`u^p4q(5-@%y9UL;q-F_G{c8HNFyf)Xyi5$S%LU}WZ{jq5&;d8Y$A~?2Gtmh6|_%h zEvNek_ZGEOx?77!#4w~H8oYqmaRHLf2yg>T?Z>aLzh2k>4iyj@EV}+0d zUDiaV^{y*a`r7sO{}`1<_o5wG)hqS!;@>nC=-RlY4iyruof-t95gockj7x7`NT`xM zg~dp*Ew~)Oj9{A|AiB+0VQ^|##{4ws*%|1I;;x9PfmdXXH{(fM@Z~^>9+74SGr0gT z?xY~5W5jfgZg`wbR>j)A4Nxn~ijR;LkjfrNyE~}FtZ&7v=`A0x4&!n*=Pz%jrMcd0 zqWsLHNSiMc?v3~pn!w_s0O|HTX!Ax@hVy4y^w=^ChS1NT z_{Do*8#91~*xnXC;9i)iMh)USPyXT2n{&I&@5d^mzx>=88NmT1gB}=Mj68k#iu;yv z`SIKJr$|)B_5NGA-u4a|?_1xbXzKj$s^*}EJ7mp6)-!aw5(x_8YB@k!iq zdBt)b5^6b_cf-pY0mMu;j=YAX0?IsOv3QQL+dj|O$(^xF!Puo>>{2jx@+S3-U0O4C zn`aq2sf`_81s*?o(dEZvKIa*P8ZfT`eAt-QcbMdw7riV8=>wUA?9 z_ZT^9ll#07(h+bfl)*ov@db_pQ90{&&2$HD4w!uz3Pns{N%**%9&4SyKjEyhT7FkhJgLaZuiN)o9BGZiq&A9fU}L)RQ1*$k+uQ<+WfHL*nODyM|8M9 z&U+R6Me6$-n+B1Q=!Q6VyHC#qoiVXNXn-x5wj;+0bvw#V@M&XUnki$Qqw{#e9sZ!l z=5y~QgB8%0EMJEI+SDZ2N{W4#;jVI17Q5ZKm?^zBfcqjJ^g4tLgTXcl$Y8@Hlo_1f zvVV35?BLjcEyK<2zte5a-F;F<8*d$)liz+n{S~QA1ueXlIOlIl*v7RC(b ztYCd*ivkdu#(DpUvn{ZbCSQsxKlB8m@ZUXHcC=OpR+T23sbF#rU?8YPw666`7%NG6 z?!eU0EXDR0wpJ&!xd}L16RPYsq1C~#t8dYK%z7V*`7ky!(2gC-W~d8rC6~b#hFc`~ zbUH#%iW71fvN*RmG*_S=uMh*__~t#rQVW77b6Z4czVmsdNO=_Ka4?_+oBpBR{075- z`jQY8p0oc2oBQ;YJ)FtJ6E)z^3cf~C(eW&>3}xZ6Yw(}BVuxBJxuOYWCS=^~g^Y{W zKP9Q%>^dpz6?D6`dQSOa?ZXNJOOIdMQT4h90opIg;@YsvU3C_gLBgZ<)ag6Aipu!d z)WM5?)I2^KjUX*#;G$xOm@s^f54UADa8=_#7Ab~Xt^p3$z~ztxWs0^&A4!{AhT@(tZb{ODKs zp{?4tCwU`x1eSI1Pr`5g0=A^x-#uEt-QPaS#sEHkA)F?ER3sz zPJz;x5JtZMFULUnjR%+?!O3R_e{N-Z1ao7`9ooX7f;fU}=LE2CJ?l5GM=B;yAQhuM zpyF%~s5svPDrz*5LaYg08K`<~V2NARU~O=Uk&jaxkGAckXCA$@eJ;JUc^z6hFy~>9 z?`bt+8h8r(xlQ^ALDt(Xd;pGXcy9EI)n}_(sYTEp8al*Qxz+fXcT=q3pB)#W&_9x6 z^0fXpNywjvH5iN!cy>Fu`u+3dBm7jaEQ0_irSW&+z;Em$;&EAeNgPorb->QHAKni?{B%l#fQ%J(pVhGYB3|`^Q#CrU z44Lx75lHR@gZy?G*k!RN1ygmglStJdSug7iR3&sVXf9__L0MWvcFtvq{$(n%yduws+4{V-^|{~rT(`b3c+}R!!=J^Rdy(^0%pXulLFTSjNjeX=`kv)6Gy8&KVEV`# zM2?Je=y#3}IKF}kp)*KNg#`Ik$y6op;TtNzrBi-8)UCYj3uLCra|ryykblRc(s2D;ULy!GeHvgWbF&A->S zc^UUdr$f*Y_;(e<05d7>tT=n8vWH~LD4W9a{AIsgSw)gd3hka>{ zg4uV`?V7Iy@H2}EL4V75{hxyFkFN@rJ=vR~Hgky6lCB7$rgZ|97SK9rw#I@*y>$Xq zGPWkbP3gC;D+-zB-RqJ<_vU*+0V%suMnN@Qq(aDWb-D(R!`&(N1MZX(%WijhQ;e-t z;QjpW_hjbjSepw5AHc*#ul=(ef0@{%=2) zXyfRr>H9U5xf4P+=jZd$j$Iy&{j*{*A%i^*%7xxC~ z^T|ZbVlsh!IP|}6d93P(#7W^;bV1(5!?JwVsd0U38J-%)Q**k!qLUWE<=)8v_Q)mA zX7+e6dg{O+*?$yp8a#t}B}Ky0B#n`5O^7n*lP^)h%~fEa7C=3L59fw6r%Y3%Qc1> zwUMy4SHvkZv8+XkyWRa9q~fqsgXlH-LkC+5JfpI7lW|dBNGNOL&YLxVn7aLr&ZT39 z>MO33<^bCnE-kJzS7n{Rrr&vKc8_V_(=A#@ z$M*r+O49^BokLG^Oj(znN=R9!9{Xf26-&xAgJJrC-2okM^K6Hhow#i5*=6Uoi7}6> zF)mEz#TkhgXXF(HUmjLc*(t=Xi4Om|UHxI_R+dArFO28B?jTi}t&dkIIlgqofyTIZ zKd;RU|HG^qnZEMDWXRp|sf{sT!c5a}82p$RaCcv*db<;t4z*`!zUm!9#^Da3&~_M% zcelOJn;GARpvg?aMS~udrE@AmUEHZFd*@!3xcOciS3=%4dg^vv2i9$kt=mc{z^Dh^ zWvZu2AM4DJQzz8@YOk)gDstra=GQ3q?T31Sf7;ZLpZ_Vz3!c^Gg8v_N&$i<>lHISU z2_#Tusx@NY?B>L2EbMV$V8$M7+t?U}A*dy`nr=0zh?4CdFCUV(yl(>JDaaROUjhV3 zp7vAb2R5IObE!iXSw%Hv%M<%yJnFh0*5%yKDI1ZZgG?Q<4t4B~>S{%d&{Nn8qEF>2WNBIU8|wRH`rx7WYutq_w#fs4Jb`nV zkb5i7m8DOuUyr`ikAUB_EHBcV=D}!LhLXbHz;WJYQ}iXng*d7XN^=$)iZ}h%b!TlU z-k?fT`rZ46F{`qsX<4MQpdE*xU0tJj={>4ikGC{_ofx$~$l|##ZlknG#-890JEjcq z*YAJtYeYHFM&s2Az$bvACA$TyB=w_f1w z1~5ZW=%sG~#KMX#{b|IK!3zZio6LNASsD6HcI1+*VN~409e5$z@hagd+w_hbuE!@F zu5xM|kIC;CtKXsHG1~;+Q^6Z6(qu$&D||*cZiRoFK-vL&K)89-rqdpsf}kkSd)ZwH zccaig7B5y0SrJS&Gi%%3Go=IWAYSdG6?UP6Q0Q}EaM&n-Iu^sc1PAv(TSq>{nSAAS zwbRcOY;^VY7-s`6pWC}0?=;S4v6Jji;ukFbW5TSLPJQ-G>DODUVp9YUHYrtgSS^ll z$QRi#)Z0FYJNrj%pL@i{4z8<_d)8#VCmo`y`3`VUwPh-vh!YzJu}sFOUkEgXyf~Q* zejM;9%5vOk4S3PrKw;Ch*r#=Z8357qV{d4DaLzFWq1SV1vV8&#=Su()xg4fs&;T1$ zlvZ3MpAD140?$OCZvcZN3s%SQ{zT)!D&y;-OokU7s0~RS?6qw93i0uIi1zu!w$GP+ zZ^e73Mmlai9xgn`Z5hT=Ct6s}xrVd{x4k!BL!jolEj@#j6C-o$kC6eVNDRmr<9|q$ z?(HP8^udWzOqA}`sFLfJ8xN{nE_C0@yf1XwCTJdAf(yK5VJV}^)0}n z<$R$M!!qKn)ES?+D4@&+*8Ry;p_tK_1ql+_i=cFHOs0RZ}->}nVchGciFs&o->#LdP?PR4 zP%gV5U~lxsr{;a*I6Y}F2J25?4Cuh({pTY|Sc*?2`x;wEuZ9}Lt6U;ib%0IxnSe&A zO_}iu5eYWr7`;}rvw&v_q99PFGuS=G0Q5B2MDn@m#K06pNkxELU3WBOnB5AU91g=e zIynr@sXSEvJOD{fDc3QNHt_impFer_^xP8PZm=>?1NuJ_I(9ks-h9rg!m^wHW(%cn zliU8*@yU55H!?;^2qTPn&%#Cugu_M(gri0ZgrS`Rfl0`f5gc#uXxwXfhaNzKTf-EL zsN$Ao$sg{1%$fT+TwnrHmH8B$nTK+sBnxuk0 z2u)QRfRD5J9Aj+r{Vbi|T0;qx?ns*#@KOfsnE^SD!Ur1Hv_bZWYRds!fTaIscy9RZ z05C|da|@~oA&ik3sy;5)`P3C}(EQBt>pj!jq}t|gk@^Wj{zyv7r1Ss-^R09*6B2Q`*dA_}B;E{2iaVc{)NXg-GkAGnA)i_D>QW>CZ zWdWhbew$`MvdcDO6qPdoIo|frBux##Zp@LL(nGlT&Jll`1O8-MH&_@5s8?+v3nTi9 zd4nyP3R}|I4kF%59$N$HPgtw%+b_KrD!rlm3TYs4L>orxuk)DIY&`bT*Fq zOAzS(6xI|BGU;d}zXG!eHP0n9C8oMumt2>wXi-3u_XBX54Ky&wlWzhQ6p9o>vAKG9 z2{A^?!?q>c2YvEh+p%qNjn5VaJZ@3Ay}>En1;`c%8o$@$-EDltT+XlUQvpFMUN7(05Wp~5Pe?qd?;aO zUlDN>zldzXk*+0Gd!Ef^^VpZNsxEc()tQ7z;}~bs$`&U2Dzb`2KIzjL%F-Mvd3SO? z|E}w!bIs!N0LJA3lqu+M*sCfBl6(_Q&8AJ0P${w__IVBLufZMnb?zYCi|>wn+NxR2JM`d{v0%*R*+m=}2|i%)B;ZV|n6t~4=#)n6AjKl5sX~k)>lC%1`{Vhl z98ZKJYeXq>#*~W2s5qvKC#l|T0J+2&P0H(o#b7R(XN&5CSq!npehU7H8D|@HZxJpMVXeBurL4I33~Fqi>6ZM2*-upJIJ$2EVp zIMY+sO@+;;y24ZA=5Tz6a*A|QV&LCw7>Uz7!M*mp<2hblvnK<(>sJj?H}KG>u{8Mx zqU{`Mh8qne<*ctOWASEF3KFL`+nP$=4jvh8rhfkgMequSG}gtm)Z5ps`l!S=U#D|P zs40qkzkElc2ncoeM3OTlBLwp-#2Wpf61Wb~+9#4&vBBWDgz0G{Jn?5id>ilQfV-}O z2!989j$X6~qH z6B8g|$#Ag(-Rr9k-HUCh*DNTUaD6G6!q@_RH z(tdKp=pIDE_=Oo)QEM8| z|3`3Oatsn1uV+`>E?=!D*Q0E`8o}Dn*6|3OB(I?gn_~65cnmDc4Y^bVZ!!!cyIo`W z7B24sFhoi`7shySzsvCin?k=OHqNsP{CAzs@Bq;40#bH8LgEp;*6YfW%DMx|C#L$Z zyljaet30N(_BiS#1#ZAKy#+C9O4;0V7}^ZH9Q-(55I%bCv*;rWe;)sR9~}#qtG@eu zvdjuX!9M>;F|-|plO?k6Wv0yVM3r79l>@hAxSUscwm`2WBICU5E%p1-1BFTS=$?MW z3iSidOE8LgG5Fivw&+9!VoSe$9D^A~Njh4`i@StMwzM5GyenG z_A_tQJK5(vXsdy70=s3+Eat&-B!9oj;DQX38p3F?rrkie(6h=wc(kMRAK(89UZy9^ zeVv5NeVsPBuW;Bf4IZ5|65O5)EkDz@#Guh(UU^dvn7cj3&ooZ| z|LZ?{zx?69fBC~dz`rmPAAipTT;a(B&*g;%Srbmarzcl@^K}#80EO{x=XCB(+ zo}uau+SaTm^@U!<8G7!yBXNbtipS-JPRDR&eLcCtv&>vx=*ukg?GP4w76D3of7yGq z1fmxd%yXb_+U+k@9y6iT6sXV!Wr3$RSGawjQ#nBJ6H0ryWbD-ETYXdG4#JlOJLk7I z7unp`nQMG|#ud15^YP5rmC8L!hsEs3?aTIaE(su?%8y4LfA42yDxCZ(j)DJ2_cHx6 zm{;FyGOzv?7$rH^fn1G14pks$B*0BaB2jH#Kw>qPmCG5FYZLINzSfVwKF@BS*|zS# z-4Fk2i|nYy=QIp&wx#YiH>SviXCyhYm@QVuyssiEW(#ChyrnI)%NUKBzZkpk&viJP zpYes6e1G0L)u`Eixn4IN?3#p;_L)Pjl!?_db?`Gz*Fn>lJU%l{z2a5g^lJzDUh^Gn zck;6>m0`^r|EVOy4K88b0u3Wa!3r!GXs|F(L>y?srj*F#@PHWTDAX6@$@OfBOv)3? zZT2{g9u-P`6i5d<0qJ0uARX=mq{Cf;bhHzYj&=#s@lHTG-X%yUI|1p$3zDd@Z(Nh~ zldqn{mlR$IoI`4(s)P*67Ex!G;4WLEc81(}Xchy{3S2?3ZqU^>*g4qAfl6Clu>B{E zCVO1@eUwo`c7HCZTV!erT(lq9=cQ0A&wPDFCs^DlWRsq;_51&i$;?QX6y8tW^C^Q_ zrh*SfeGoe_Znkzo=`>rhhQQm<)*&bjixbbXWfJF6`|x#%TZxqKHslH=61UrcE0hS< zZUe4Rnq($VJ(jCVLUtQSm15JSZwwZLl?b_>7N$mtDC=orY7`5so(5E|M3>^$a|Np3 zHin}}lGMKZd>}beH@l6Z7O)@JJ!8s4-{uZdzZk>9)17AO)<5+1-{@W<8c!%~LGfRg zH|x(|pEs+3ye0iKc^Z&_ic72bi;Uq%O`%TaP|;hHJ=CW%#{@-Xwxfv?2uW%AA_#;l z3S|=5W`1<1^xXDXvCrrh;@CTcz)$p94wGj%&;pCELNT1FU-~-N9~SZQha`=o`>fbK z_wWFMJPgTwKe$*Y^C>G^d65)`*&sStMnRwri&1AU#P+$=2@o0rMW{|+wX+vVI+?Gh zar9fk_BnGT2|Zwp&jcm$yJ*iV&@mv-vkYUV36Ic6KPmZ=xt3jk@t7@S2wYSpY>Kbm z??B>Wn|6N2eR!EqSE0>;2IxILFn$})tJl@@fcpCyqm+MrT$1e7URbR~*viq!Wsui{ z&f$tsr*G%I<5D+!i8z+g3V(>Y*}pXg5Nr|^?@Lwg4c3(g>p zj+QP^p0EIPdQ5QcMETBjEm)yW5#$s%A(!$h zv|)&Z&CUHUbW`&Ge+U-qc^>aeUZ)6>YOf1LF9HPr`)~jHkNiYHWswOlPlgBdCV{AS zMx}e={0{d->x|Z<@#ng3;kQNLT1AQZ)^##ezc$9^9;Mo{*=Lo)>#ByrlyWCgAcpIFPsBlWE@F70~bVFD@O)6n!{aJqeP^kKp8seTgPKPz`s^!{I&S z&l%RtWuO4fDc8)i*{h70V4 zw)5Rd^EO|k7jj_9k*M?BDA^(JQlEV0`YN+5E=iH(Z}cNh??`<_EoFB)f(7b3avH49 zw)!Uci=ZH$-8|jAArHyvc6cHj`tw*?9(?jVo6y$ogcW&|J18r^>e-${@ zRp0mpK8o|nGQqG6H*twhYn`4bEb5qa5|(FYNhcY5)e?q;jf5eGjf5dbjf5c-lhJ1^ zB~-oU9eCWJC4odD`%?0TRCi?Q~uPZHp14#Y-`?^LPpeMn< zO{GwN>(J@IJNt!26MTBkvaMgaphKr0KA`GSUeQuCzxq4xsBPO+K4leKHZ&Jq zwe64=W5KkcW|#>R@$uOiB;b+f)MHzbOskA97FcEGTXiB0eX9fNL5AMG)C&C-<#H@L zbK5AdR|l!C0+mu}LT9GlL`q8{jWdthqmgRCNG#lkb{JB4zY0SN5AI3 zNL-nYlX9(rnG%oA z%HWOJ@4)4uYG7W8%>z9j#F`@9<0(gUP9J!A*yhY6fGzP}8ObKXf(Z&VPUtHRKZ0Wm z_awRTUY2RYC=FQ; zW(I!7oYp)tBN2eeyneVs1#IxGg#COAXN!^pmshFtr_kTd_sDwU5k^6Vsbf7gXvu)D zRews%_a{8>!vt)dgCxAL1C6oeX2sXwJmhI3eM-2SLwK_j^KP=DJAr2kB;-J`naZ#&*`{?#|0#kc8LCpWlgQ<7pl3Fp_23G z&z~RR@#y(;ef?ZB?+JZ6BEB|Rij+@g%%{(0fB~Nc%LV`eS&-`+n_JtkvkMNm;Q4VU z`2iVX)5;J{{3A{2p#H!E(z}&olI^TJ-k$i@O$oc#SN}5R_0?Z9zQMx8?RZ@Bq4|el zD_0A;vTDpQV{Kky#-pB>+$_tmLy|Nphiq~@GfrzrTsdI)a-J{hH$5ld&x}(H3cnVsGxz2eE$qpYe`*@Aw5@x!2ph8~BR9pq3pTdn%RZTn1`hreXqWHlkWY!;sP& zek`GSZn)0MURtgyS|q7Ah5FMCuN#E-gUo0+zxa?xcyegu2&aoMQr8)fenq8x zF9oeH!Y+g68)3QJ=xDa$Twp+WEx!1nzXbKy($QW!qkpF(DpA#^eQQu7$>Wp(V;UG0 zL5aQWWerft(y*g~?h{#%^MVK_963SwJ-S>Vyoj*65Y~a4Dg7(R8&OO~bv!`F@DOmEf zb>2BIv900p^neZSJB+uG;tciGdG2ZAJRq+cPp4ij$W|R&J=^M@Y_zgbveBiD?rbz8 z{5I~{=oZ_#jR!V*q0%e0zU#E~sMMujlCCKhoq-#cP8m{R@HK``b%_;RVbV2XGtw`e zL75ZAP!|v)sUP^?2^Ae(M*v%wg2PfrVSt5xha7pWoNd#BIR*KG}rkw+r}xDDjd zrVg@5WBPk=>rlUFWhi<=bWJhP-aWbd2NM*v?lj+xNGn?|katfI;6bN}##58hHI>~~ z$$lc~*2tk7dDFjWf5C05tmg_G={OGtOSy- zgREvDpioFxpW{S&n?pMy_YULATKX}^?;mn=ERK-wGu}R9_%=Z0?1C&j!`{g70O`#w zx1>IdwD5lx{kFeBs+K}UN6!MW~~I3ox@?mU}Fm7$82z&!EXXo#i4_ocewGZs}#Cx zk+`xTWz*jJdfgSEV@Aabip-$z8%RX&DYBbKk8X}?D+kmU>QLJOIa#1(`sKlg!v|?_ zL8;2u^pChFUs3v-4fXy_`1l#SK(?}7=@)RG-Qsq;9tk^2*}=FPgQH$Ir9;MaK;8Hz zt+&g*^_I)aebhe6xz^DfxymEu7 z@brEmdSeCJxWCug$iQs?ulSJhU7j8HBGgiaF-gm7`XP-$${n|RXZv+>5)n;Imta8G z#-1jiVRM^_(E;~Q$ia6>j4w%@XKpV`f*q9IH%ceCHIP0DJCnMaG^~2rbpE~)$On0| zf{xf*%3YKVY+M539Vo*juBR|Wk+A&tFFg_leDzJeE1IwthPMydPkJ;?_15C&WoxVHpX220^z}XXs_LrpUTlUheAEfa&h7TXQ-Y#t{D6MOf zfqfW3FOKULK-Ng>v}^3wnD*gmLy^sZb-AYb`<&MM0jz8eRqkNfJ-IPv9um{!L^{%t zbqk8EABWaS{Owl z;jE9qjTW$uV=-=xvU_ypEJ%@)9i|r7qi(nJXo9n18cCu`2TOh%|GmrnH`pV&Fa~GW zd49^oLC@1hWeuU073skxq-)lbEv~;J>{*YVT#eo3&DmdxI__8b-4lo$46-{&-;zAo zq|iLO2Ve>`31N6=12-Ip;?Uag#IcC3D0F#H?%?i;g4f8;4}o2o4c0xeCXkAh=faqU zBbA-j?Aztip&s2Itwvb-^rSK4SN%mlRITzT}yS4MnD2 zWopD!`ye#6f8w3A@smO@=s*Nvq!O@5yB={0>kce#j^MZ@d@SOdWJUCb01YYD^YV#C2bOU( zc`$%U=n&_5?NXWwb-3u@#t{XRDY) zpNlPpg!P5fqCJH;wZ^c1vwON)f3w{!QToBRg>I3@z4myxbXzx3L9dJTogJ-^eAC>o z9)0ek@6Q=$H?9D3DsrrI@4m4?2Zaxq8`j82fG8U)thMniHt0aG<<~ZMHoN|F1$)M= zui_!)cewT7hF&YSNaMvizlI840`uB^ew~&$x~+tj{Xzm+hOH^A)UWw_kL30Mc&luw!R=F+Fc8=*19gLD}!3v!S&fuCDHG4XB6DMq@| z6n(SD!5WSpLn6iYoWH2uqnn5i<42_BZXq!u+m5Wrt0zPy1f>oS6ZR>`eLfM^y8?9q z=%ARglVXV|qrZ+R%sizGB)ya=%Q3fWXeEIuVs2yI*yk2yZoUBhgA8Xd@(riC`6IrK zc!;jI6Q=|<6mtfZuMfADtrB>!vpPTR=GuFGTII6`T9Zmwx{9ujQg+68$2xf{2YZTv=Aye~IRR?16*B&ItP1J8e=fp94kbAPC-{-#+JNSx+b6puLx!ao3 z$Vq8{=2~^Gi~P)$tg=EUaC`yQ-^mK}Sg5ru_3suWdt$!Y zh4>*gHkAHh^R$TvES6Ze@O0TRlu&k0Bfg2Qw*fmUHO|5wUGJ9oyM{fDZ#S?VKYFWpHCZ$;Z)B|hK5OF;r$#aP_k@NL6sdocO$CtRo>Tt~Iqw?; zJ~0Nnqie98CeDt&iZWY%q<#QRW zA3D1Rq@HN~gvt&qB(uhQR?GW>+CNxH6(x}Fq|ia44sQgkNL?8$(Jh5litWjT_?CE{ z1Knk4pcv=m>$gFx1T~lgprdQWRyHi*H{!DDEkHv&Zc~GfUW{_wf|6Y#I7>?i_IshM z#tc#On{2mc&ApU{_e~cPJ~Sn|rZ_=>maG+7hRt&I0UQPnaZzrKX7MtMVa)z(C~N;H zct6yGxk?O`uD`vI)!#ZxALi`ov+JKz8g{|vQV8y6q9u0G_3we^?-0g($`9D@j+*w- zB3EY(d;U7kLG2D5&Lwq@V7m($Kh`UK43&6V{s6KR@<=1CugdAhYx?!#RAmRLY_qhn z99(Y$ebi*+`2s~${tbRgNtGRB(q}cvf$d0KO!1V2l$!~v++Z&qw9*(lO-QkJ8&)>R zE^lmE`oSsjILOgjXHYaqV5SqKNH`}|x!q2^DnhfcDbNuOHfWh;al{x<1d}N8f?l%R zzvC>3i}uu(V0n}vz(Uy4o?!lO-%3$sj`8Y~6Oe$SZpNsq;9ntk6urpARrJ-$P`H^rS z9{KU50c)a=M&k=+1879{`%sG_*xvFcAdoT_y4VyN8x4nj=lepQm4Az^Buk%?- zqs#wFA**-i)|Ij$x+iLal>Qza-ot~xVW|ULu1P<`c+xjb`uL=`kQVe2-EStgZjk5I z46f2|E{$&k&xwa3x+z~MTjQWf?!5>FJE{;+0SitbCjrL=lubZ7N>445{tYs2xrg(7 zh>-pM2|~S1(jNr#6sp#x!ql#if(eHQTcra{3W2Y?^LN6qNPll3{)T^d3Di9Lk)py- zyAt;mKg)fC^MfWQU8#i@f?s6);67=uI!P?JrC!|%XIX|rYfnsCS<3~{zUAS+@(7@Y z+(-3yjwTKz&^mzE)zJcUgvz|H2T6G|)RFtbLK^-*dREpL#%NSIKk#MLjTS-aE7cA+ z1`4vgg;PBuh1|CrM0Nr+|4aFxs!mhG-ZnZ8xM~Ktb_TeD#v!&wMN?Br6TqffptlVK zQTTAV)|AX;W^UJF2IH6Q4f2Jva_N=%4xJs98(Y%6e-`Ef|1Y^?ZS63-kQV_V+Owe<E`zB} zPEE&5Z8_2Oc;B=+#rw>h7hMUWEp&*_j7-kw{5GcTa==c+z?5VG&JQv0yp?W8a{L+G zr)N0GKG)u7LHbRPalz;b@YuP%Qf`+o3?01o3u(Rv_SJTNByWT^`TDcpmwTK z3pG=P8aW5&#i^W;vM5HGlpp1ybc#|MB~lLZCNJ_Nce0Wz@*)qik%bsCksmUUjwsTQ zf@DOHghb>(JmN@`bdi))NhhfgH*pb-IEk4k#7GPrAIHU^9F^nbh=h;u68;De;U;Xt zBwU0}P(mYALLp>=5E9`a1cJkV_!s}+Z~Vd=e&T=l3*YgIZ}<~m@EI@ogpc?G@A+rT zhx@}lxQ$yl!%f@|ci}q!RQo3lPH+hqaR=@{Le97~K_Cp{pQWniS*6ZuVTds{_TOlK z?~QP2G#DWt_``$+*y%`4M0dMcUch7^$2|rq2dp|Fd=zycV3%2hk8Vp|ZTHwHE z&~O*xn?8S)pBO;)8-HJFUQBx^!-=h5m06TJMijtM7G*#JWqP{6y4jVoVaY2ME4Q$OA+Os7JHf?XwVX}pUPpL*}(SQ-Wke;-De z*Cf(P*;ISWURwWuojcS`ClYnDh2R4G`a`q4PZT^xIY?V?utECG%yFqtLuz*b<}xK4 z$YYn%`Lfu0)w~pHG*}XW@RTct>zdYD#eI3%pcL5Zye>yWRAYKc!u=sn$T+d~4UYqv zBb%Aib*V>fGCD2fLW30z`^S`TiT^E%ofM5$UAIMsTAbyhZR2?N+$qmcxR&@g)6La8=g&tWpg`fOw!Jn66+lF!cJ zff<589`S;Mc1F+vr~sgnbU7Y}DQNkN-pKltFw&;;>P~ zbAlk78xMzcHqRh2iH1YCay5Vv692&n8F3^bBd*ZcgPbPz(dm%XQ7lYfDR+rk{#`DA z8ZHJCP2Sv(_p%>Sn9;1mp@v=ICYs*A94aJT8tWC^O`qUyt1x#W&0WIR)GD#hBxWGm zG5~3OSOrL%%$iQwJ{BDqcPTCOH?I0Xy8H$hnTB8w4_Yt%GkECO<7yh?1y9! z#7dLkH%H+dG8HIFCtHM;Lg(|_ zt8F_B;IS+Kc+6Ht`-Wju+B&BNs68NeLwld7z11Pg=y2r`-iw5oE$>AYHruul1Do22 zlr}uRjlT)LLtMUTP&l?boCkN|-1oux6%qY@fCK7_q-SrktK7&vplfJB_^}-Iq71K% zijEF2S|z3SfzZ(ib`R`3iK_7IJ^jd?57Mccre(~w;>D!~1pWa@aUp3Bvz7(xI0h+o#0Zr0t zO@L@PZkm9ji?g%O=Wjp#Z-vWG>*!_-%i8L*AXm)B8IY1|jeePi^R#LBm!DsKczd++ z*jFDl=`{|S#MT-wq%qO`o>t>+$XAEeN1!O1hhdgoYb=9gY#a%EKiq_D4`9fy9s&_l z-GqxtGPFfq7>A3ndSvvX)Ho;-TWdVf-$!wmZc~rJHd?$T`0sH7IN1y4`Uk7B$`1O3#Bn$B(6!N7^04+w265>^TyA4C_``Pbi~?u ze){&~nXN-H&0*E3nMRg15D?Ep1XxO!{Ks7|T>#utu4?@R85h}e39tme$tZw+B-62q zU}nFtU8Z#x)4H$`6UpUHm9WRgUg1_iW)l`JM?GYOW{FWB1?>^6^eQTqikC$#040OG znzmQ455jZ-pUYN{tIW*}=FXOju&uS5<)Ucow93{it)djVn!`4>3`aF`Cr&5!0_a<} z`v@TGtKT0Gc7LBjQu`7RmSR$f6njJ->kH$;-lO6dh)9u#y2vN$2t5?tl;oJ$J$O`R zh~Kaqa+gz+T3%Y`!Cd*s>$9p2K>w%s7eeqay?+5#3+_N+$^?}m%?U=N*o64A}wfD zab^Ny_RJH2Rtz`GHM*~aI!A_F+AP3GB-6YCgY#;!9Ds9c_Tv!wc|Mn~tWg^DV+8JX z39fXKEaz|{rj}Fa+eQ#Cs@r1M;L?g-x+s~6XN+!gVLPt2 zeG74}P{8I_nUU?-so9UKpQbkYfgYluyLBSDxwPfA_PH`k(}N}rw8wEawJ8vPuf{ zAnt8tB;Gg?zRwW2zx9mB?P7D+Hgs=FJIkiYg5fuS{< zX#}nH?4X|}G49`(c=vE$0ilP+ZXb`F{6kCRMC)47h&>4#^2w0LzvxZXu-PBpVjiePau&&f zPa!+YxM;_Yqf$|LqZZkJ4e!PL#;_l=ExWFFfC%SJf^@P73>i6GLA_~b`bGY#|ALaL zTXq4o%J!jj72}^je)vP$Bi@l^TDC~#w1hOZ0eP1O?-s$8wxH6Y`#-gAAT0tSNc?JI z!39ZOE5A0W6-)D+hiCBJeX1fu8{eegWl$jdo->HO1 zi$Bi{WXsxjWA*N0av8OpsbyScR&~Z?$$@Nd*{*4vgA%W@@?7gPZ={Xn#oB(_NuS$x z&&EI!MYp7q_VvGE>WT&^=CwiC0&IqD^lUIgc5Wo`av)M7(+2WoZCuw7vUFwtA5mj`G?ps4bDONxLSU&X) ziK%NQ_y=CdDeUb1jrsZk?0_0i0R-NJq{z>jWndw1Oo5Mhy0=%m2M%{CD17H3AcCZ( zDWs})q`bnw<9D{d8DaGS?QOf=E^lrRw)HG~h`L>)h7Ye=e?0zbx;C&N=JaIwA4&d4 zAYR^dj#T+ni#MB6kq1Go?}4-=c>0~WR#;2xHgVi3-%kmv^h}bPQvft&* lQhNv6-O)k#Y 500 || text.length !== 0 && text.trim().length === 0,\n block: true\n })))));\n };\n\n return ComposeForm;\n}(__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default.a), _class2.propTypes = {\n intl: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.object.isRequired,\n text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string.isRequired,\n suggestion_token: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n suggestions: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.list,\n spoiler: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n privacy: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n spoiler_text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n focusDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n preselectDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n is_submitting: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n is_uploading: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n onChange: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onSubmit: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onClearSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onFetchSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onChangeSpoilerText: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onPaste: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onPickEmoji: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n showSearch: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool\n}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 287:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CharacterCounter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_stringz__);\n\n\n\n\n\n\n\n\nvar CharacterCounter = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(CharacterCounter, _React$PureComponent);\n\n function CharacterCounter() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, CharacterCounter);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n if (diff < 0) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'character-counter character-counter--over'\n }, void 0, diff);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'character-counter'\n }, void 0, diff);\n };\n\n CharacterCounter.prototype.render = function render() {\n var diff = this.props.max - Object(__WEBPACK_IMPORTED_MODULE_5_stringz__[\"length\"])(this.props.text);\n return this.checkRemainingText(diff);\n };\n\n return CharacterCounter;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 288:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__ = __webpack_require__(289);\n\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"e\" /* makeGetStatus */])();\n\n var mapStateToProps = function mapStateToProps(state) {\n return {\n status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onCancel: function onCancel() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_compose__[\"B\" /* cancelReplyCompose */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 289:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ReplyIndicator; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n cancel: {\n 'id': 'reply_indicator.cancel',\n 'defaultMessage': 'Cancel'\n }\n});\n\nvar ReplyIndicator = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ReplyIndicator, _ImmutablePureCompone);\n\n function ReplyIndicator() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ReplyIndicator);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onCancel();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ReplyIndicator.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n if (!status) {\n return null;\n }\n\n var content = { __html: status.get('contentHtml') };\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__cancel'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n title: intl.formatMessage(messages.cancel),\n icon: 'times',\n onClick: this.handleClick\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'reply-indicator__display-name'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__display-avatar'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n account: status.get('account'),\n size: 24\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_display_name__[\"a\" /* default */], {\n account: status.get('account')\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__content',\n dangerouslySetInnerHTML: content\n }));\n };\n\n return ReplyIndicator;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class2.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object\n}, _class2.propTypes = {\n status: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map,\n onCancel: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 290:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestTextarea; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__ = __webpack_require__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__ = __webpack_require__(293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__rtl__ = __webpack_require__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__ = __webpack_require__(294);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_classnames__);\n\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n var word = void 0;\n\n var left = str.slice(0, caretPosition).search(/\\S+$/);\n var right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(AutosuggestTextarea, _ImmutablePureCompone);\n\n function AutosuggestTextarea() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestTextarea);\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 = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0\n }, _this.onChange = function (e) {\n var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n tokenStart = _textAtCursorMatchesT[0],\n token = _textAtCursorMatchesT[1];\n\n if (token !== null && _this.state.lastToken !== token) {\n _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n _this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n _this.setState({ lastToken: null });\n _this.props.onSuggestionsClearRequested();\n }\n\n _this.props.onChange(e);\n }, _this.onKeyDown = function (e) {\n var _this$props = _this.props,\n suggestions = _this$props.suggestions,\n disabled = _this$props.disabled;\n var _this$state = _this.state,\n selectedSuggestion = _this$state.selectedSuggestion,\n suggestionsHidden = _this$state.suggestionsHidden;\n\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n _this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !_this.props.onKeyDown) {\n return;\n }\n\n _this.props.onKeyDown(e);\n }, _this.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\n }, _this.onBlur = function () {\n _this.setState({ suggestionsHidden: true });\n }, _this.onSuggestionClick = function (e) {\n var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n _this.textarea.focus();\n }, _this.setTextarea = function (c) {\n _this.textarea = c;\n }, _this.onPaste = function (e) {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n _this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }, _this.renderSuggestion = function (suggestion, i) {\n var selectedSuggestion = _this.state.selectedSuggestion;\n\n var inner = void 0,\n key = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(suggestion)) === 'object') {\n inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__[\"a\" /* default */], {\n emoji: suggestion\n });\n key = suggestion.id;\n } else {\n inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__[\"a\" /* default */], {\n id: suggestion\n });\n key = suggestion;\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n className: __WEBPACK_IMPORTED_MODULE_13_classnames___default()('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n onMouseDown: _this.onSuggestionClick\n }, key, inner);\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n };\n\n AutosuggestTextarea.prototype.render = function render() {\n var _props = this.props,\n value = _props.value,\n suggestions = _props.suggestions,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n autoFocus = _props.autoFocus;\n var suggestionsHidden = this.state.suggestionsHidden;\n\n var style = { direction: 'ltr' };\n\n if (Object(__WEBPACK_IMPORTED_MODULE_10__rtl__[\"a\" /* isRtl */])(value)) {\n style.direction = 'rtl';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-textarea'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, placeholder), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__[\"a\" /* default */], {\n inputRef: this.setTextarea,\n className: 'autosuggest-textarea__textarea',\n disabled: disabled,\n placeholder: placeholder,\n autoFocus: autoFocus,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n }, void 0, suggestions.map(this.renderSuggestion)));\n };\n\n return AutosuggestTextarea;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n value: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n suggestions: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.list,\n disabled: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool,\n placeholder: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onSuggestionsClearRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onSuggestionsFetchRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onChange: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onKeyUp: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n onKeyDown: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n onPaste: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n autoFocus: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool\n}, _class.defaultProps = {\n autoFocus: true\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 291:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__ = __webpack_require__(292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"c\" /* makeGetAccount */])();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n account: getAccount(state, id)\n };\n };\n\n return mapStateToProps;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 292:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestAccount; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestAccount, _ImmutablePureCompone);\n\n function AutosuggestAccount() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestAccount);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AutosuggestAccount.prototype.render = function render() {\n var account = this.props.account;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-account-icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_avatar__[\"a\" /* default */], {\n account: account,\n size: 18\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_display_name__[\"a\" /* default */], {\n account: account\n }));\n };\n\n return AutosuggestAccount;\n}(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default.a), _class.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 293:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestEmoji; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__);\n\n\n\n\n\n\n\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestEmoji, _React$PureComponent);\n\n function AutosuggestEmoji() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestEmoji);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n AutosuggestEmoji.prototype.render = function render() {\n var emoji = this.props.emoji;\n\n var url = void 0;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n var mapping = __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native] || __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = assetHost + '/emoji/' + mapping.filename + '.svg';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-emoji'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n className: 'emojione',\n src: url,\n alt: emoji.native || emoji.colons\n }), emoji.colons);\n };\n\n return AutosuggestEmoji;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(34)))\n\n/***/ }),\n\n/***/ 294:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TextareaAutosize);\n\n/***/ }),\n\n/***/ 295:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_button__ = __webpack_require__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n return m.get('type') === 'video';\n }),\n resetFileKey: state.getIn(['compose', 'resetFileKey'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onSelectFile: function onSelectFile(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"U\" /* uploadCompose */])(files));\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_button__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 296:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__);\n\n\n\n\n\nvar _dec, _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"f\" /* defineMessages */])({\n upload: {\n 'id': 'upload_button.label',\n 'defaultMessage': 'Add media'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var mapStateToProps = function mapStateToProps(state) {\n return {\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar iconStyle = {\n height: null,\n lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = Object(__WEBPACK_IMPORTED_MODULE_8_react_redux__[\"connect\"])(makeMapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadButton, _ImmutablePureCompone);\n\n function UploadButton() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadButton);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n if (e.target.files.length > 0) {\n _this.props.onSelectFile(e.target.files);\n }\n }, _this.handleClick = function () {\n _this.fileElement.click();\n }, _this.setRef = function (c) {\n _this.fileElement = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n UploadButton.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n resetFileKey = _props.resetFileKey,\n disabled = _props.disabled,\n acceptContentTypes = _props.acceptContentTypes;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-button'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_icon_button__[\"a\" /* default */], {\n icon: 'camera',\n title: intl.formatMessage(messages.upload),\n disabled: disabled,\n onClick: this.handleClick,\n className: 'compose-form__upload-button-icon',\n size: 18,\n inverted: true,\n style: iconStyle\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.upload)), __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('input', {\n key: resetFileKey,\n ref: this.setRef,\n type: 'file',\n multiple: false,\n accept: acceptContentTypes.toArray().join(','),\n onChange: this.handleChange,\n disabled: disabled,\n style: { display: 'none' }\n })));\n };\n\n return UploadButton;\n}(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default.a), _class2.propTypes = {\n disabled: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n onSelectFile: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n resetFileKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n acceptContentTypes: __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default.a.listOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string).isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 297:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__);\n\n\n\n\n\n\nvar Collapsable = function Collapsable(_ref) {\n var fullHeight = _ref.fullHeight,\n isVisible = _ref.isVisible,\n children = _ref.children;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default()(!isVisible ? 0 : 100), height: __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default()(!isVisible ? 0 : fullHeight) }\n }, void 0, function (_ref2) {\n var opacity = _ref2.opacity,\n height = _ref2.height;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: { height: height + 'px', overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }\n }, void 0, children);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Collapsable);\n\n/***/ }),\n\n/***/ 298:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__ = __webpack_require__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(6);\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"F\" /* changeComposeSpoilerness */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 299:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TextIconButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n\n\n\n\n\n\nvar TextIconButton = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(TextIconButton, _React$PureComponent);\n\n function TextIconButton() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, TextIconButton);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n e.preventDefault();\n _this.props.onClick();\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n TextIconButton.prototype.render = function render() {\n var _props = this.props,\n label = _props.label,\n title = _props.title,\n active = _props.active,\n ariaControls = _props.ariaControls;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n title: title,\n 'aria-label': title,\n className: 'text-icon-button ' + (active ? 'active' : ''),\n 'aria-expanded': active,\n onClick: this.handleClick,\n 'aria-controls': ariaControls\n }, void 0, label);\n };\n\n return TextIconButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 300:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__ = __webpack_require__(301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__is_mobile__ = __webpack_require__(33);\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"G\" /* changeComposeVisibility */])(value));\n },\n\n\n isUserTouching: __WEBPACK_IMPORTED_MODULE_4__is_mobile__[\"c\" /* isUserTouching */],\n onModalOpen: function onModalOpen(props) {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"d\" /* openModal */])('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"c\" /* closeModal */])());\n }\n\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 301:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PrivacyDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__);\n\n\n\n\n\nvar _class2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n public_short: {\n 'id': 'privacy.public.short',\n 'defaultMessage': 'Public'\n },\n public_long: {\n 'id': 'privacy.public.long',\n 'defaultMessage': 'Post to public timelines'\n },\n unlisted_short: {\n 'id': 'privacy.unlisted.short',\n 'defaultMessage': 'Unlisted'\n },\n unlisted_long: {\n 'id': 'privacy.unlisted.long',\n 'defaultMessage': 'Do not show in public timelines'\n },\n private_short: {\n 'id': 'privacy.private.short',\n 'defaultMessage': 'Followers-only'\n },\n private_long: {\n 'id': 'privacy.private.long',\n 'defaultMessage': 'Post to followers only'\n },\n direct_short: {\n 'id': 'privacy.direct.short',\n 'defaultMessage': 'Direct'\n },\n direct_long: {\n 'id': 'privacy.direct.long',\n 'defaultMessage': 'Post to mentioned users only'\n },\n change_privacy: {\n 'id': 'privacy.change',\n 'defaultMessage': 'Adjust status privacy'\n }\n});\n\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdownMenu, _React$PureComponent);\n\n function PrivacyDropdownMenu() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdownMenu);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n style = _props.style,\n items = _props.items,\n value = _props.value;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__option', { active: item.value === value })\n }, item.value, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'privacy-dropdown__option__icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-' + item.icon\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'privacy-dropdown__option__content'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, item.text), item.meta));\n })\n );\n });\n };\n\n return PrivacyDropdownMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar PrivacyDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class2 = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdown, _React$PureComponent2);\n\n function PrivacyDropdown() {\n var _temp2, _this3, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n open: false\n }, _this3.handleToggle = function () {\n if (_this3.props.isUserTouching()) {\n if (_this3.state.open) {\n _this3.props.onModalClose();\n } else {\n _this3.props.onModalOpen({\n actions: _this3.options.map(function (option) {\n return Object.assign({}, option, { active: option.value === _this3.props.value });\n }),\n onClick: _this3.handleModalActionClick\n });\n }\n } else {\n _this3.setState({ open: !_this3.state.open });\n }\n }, _this3.handleModalActionClick = function (e) {\n e.preventDefault();\n\n var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n _this3.props.onModalClose();\n _this3.props.onChange(value);\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Enter':\n _this3.handleToggle();\n break;\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleClose = function () {\n _this3.setState({ open: false });\n }, _this3.handleChange = function (value) {\n _this3.props.onChange(value);\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret2);\n }\n\n PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n };\n\n PrivacyDropdown.prototype.render = function render() {\n var _props2 = this.props,\n value = _props2.value,\n intl = _props2.intl;\n var open = this.state.open;\n\n\n var valueOption = this.options.find(function (item) {\n return item.value === value;\n });\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown', { active: open }),\n onKeyDown: this.handleKeyDown\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n className: 'privacy-dropdown__value-icon',\n icon: valueOption.icon,\n title: intl.formatMessage(messages.change_privacy),\n size: 18,\n expanded: open,\n active: open,\n inverted: true,\n onClick: this.handleToggle,\n style: { height: null, lineHeight: '27px' }\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n show: open,\n placement: 'bottom',\n target: this\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(PrivacyDropdownMenu, {\n items: this.options,\n value: value,\n onClose: this.handleClose,\n onChange: this.handleChange\n })));\n };\n\n return PrivacyDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class2;\n\n\n\n/***/ }),\n\n/***/ 302:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media as sensitive'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"D\" /* changeComposeSensitivity */])());\n }\n };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SensitiveButton, _React$PureComponent);\n\n function SensitiveButton() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SensitiveButton);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n SensitiveButton.prototype.render = function render() {\n var _props = this.props,\n visible = _props.visible,\n active = _props.active,\n disabled = _props.disabled,\n onClick = _props.onClick,\n intl = _props.intl;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.87 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default()(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n\n var icon = active ? 'eye-slash' : 'eye';\n var className = __WEBPACK_IMPORTED_MODULE_6_classnames___default()('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible\n });\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: className,\n style: { transform: 'scale(' + scale + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n className: 'compose-form__sensitive-button__icon',\n title: intl.formatMessage(messages.title),\n icon: icon,\n onClick: onClick,\n size: 18,\n active: active,\n disabled: disabled,\n style: { lineHeight: null, height: null },\n inverted: true\n }));\n });\n };\n\n return SensitiveButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(SensitiveButton)));\n\n/***/ }),\n\n/***/ 303:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__ = __webpack_require__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_settings__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_reselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_emojis__ = __webpack_require__(102);\n\n\n\n\n\n\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n return state.getIn(['settings', 'frequentlyUsedEmojis'], Object(__WEBPACK_IMPORTED_MODULE_4_immutable__[\"Map\"])());\n}], function (emojiCounters) {\n var emojis = emojiCounters.keySeq().sort(function (a, b) {\n return emojiCounters.get(a) - emojiCounters.get(b);\n }).reverse().slice(0, perLine * lines).toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nvar getCustomEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n return state.get('custom_emojis');\n}], function (emojis) {\n return emojis.filter(function (e) {\n return e.get('visible_in_picker');\n }).sort(function (a, b) {\n var aShort = a.get('shortcode').toLowerCase();\n var bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort) {\n return 1;\n } else {\n return 0;\n }\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var _onPickEmoji = _ref.onPickEmoji;\n return {\n onSkinTone: function onSkinTone(skinTone) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_settings__[\"c\" /* changeSetting */])(['skinTone'], skinTone));\n },\n\n onPickEmoji: function onPickEmoji(emoji) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_emojis__[\"b\" /* useEmoji */])(emoji));\n\n if (_onPickEmoji) {\n _onPickEmoji(emoji);\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 304:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmojiPickerDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__emoji_emoji__ = __webpack_require__(60);\n\n\n\n\n\nvar _class3, _class4, _temp4, _class5;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n emoji: {\n 'id': 'emoji_button.label',\n 'defaultMessage': 'Insert emoji'\n },\n emoji_search: {\n 'id': 'emoji_button.search',\n 'defaultMessage': 'Search...'\n },\n emoji_not_found: {\n 'id': 'emoji_button.not_found',\n 'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n },\n custom: {\n 'id': 'emoji_button.custom',\n 'defaultMessage': 'Custom'\n },\n recent: {\n 'id': 'emoji_button.recent',\n 'defaultMessage': 'Frequently used'\n },\n search_results: {\n 'id': 'emoji_button.search_results',\n 'defaultMessage': 'Search results'\n },\n people: {\n 'id': 'emoji_button.people',\n 'defaultMessage': 'People'\n },\n nature: {\n 'id': 'emoji_button.nature',\n 'defaultMessage': 'Nature'\n },\n food: {\n 'id': 'emoji_button.food',\n 'defaultMessage': 'Food & Drink'\n },\n activity: {\n 'id': 'emoji_button.activity',\n 'defaultMessage': 'Activity'\n },\n travel: {\n 'id': 'emoji_button.travel',\n 'defaultMessage': 'Travel & Places'\n },\n objects: {\n 'id': 'emoji_button.objects',\n 'defaultMessage': 'Objects'\n },\n symbols: {\n 'id': 'emoji_button.symbols',\n 'defaultMessage': 'Symbols'\n },\n flags: {\n 'id': 'emoji_button.flags',\n 'defaultMessage': 'Flags'\n }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n return assetHost + '/emoji/sheet.png';\n};\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPickerMenu, _React$PureComponent);\n\n function ModifierPickerMenu() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPickerMenu);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n };\n\n ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n this.removeListeners();\n };\n\n ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.render = function render() {\n var active = this.props.active;\n\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 1\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 1,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 2\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 2,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 3\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 3,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 4\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 4,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 5\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 5,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 6\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 6,\n backgroundImageFn: backgroundImageFn\n }))\n );\n };\n\n return ModifierPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPicker, _React$PureComponent2);\n\n function ModifierPicker() {\n var _temp2, _this2, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPicker);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n if (_this2.props.active) {\n _this2.props.onClose();\n } else {\n _this2.props.onOpen();\n }\n }, _this2.handleSelect = function (modifier) {\n _this2.props.onChange(modifier);\n _this2.props.onClose();\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n }\n\n ModifierPicker.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n modifier = _props.modifier;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'emoji-picker-dropdown__modifiers'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: modifier,\n onClick: this.handleClick,\n backgroundImageFn: backgroundImageFn\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPickerMenu, {\n active: active,\n onSelect: this.handleSelect,\n onClose: this.props.onClose\n }));\n };\n\n return ModifierPicker;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar EmojiPickerMenu = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerMenu, _React$PureComponent3);\n\n function EmojiPickerMenu() {\n var _temp3, _this3, _ret3;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerMenu);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n modifierOpen: false\n }, _this3.handleDocumentClick = function (e) {\n if (_this3.node && !_this3.node.contains(e.target)) {\n _this3.props.onClose();\n }\n }, _this3.setRef = function (c) {\n _this3.node = c;\n }, _this3.getI18n = function () {\n var intl = _this3.props.intl;\n\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom)\n }\n };\n }, _this3.handleClick = function (emoji) {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n _this3.props.onClose();\n _this3.props.onPick(emoji);\n }, _this3.handleModifierOpen = function () {\n _this3.setState({ modifierOpen: true });\n }, _this3.handleModifierClose = function () {\n _this3.setState({ modifierOpen: false });\n }, _this3.handleModifierChange = function (modifier) {\n _this3.props.onSkinTone(modifier);\n }, _temp3), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret3);\n }\n\n EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.render = function render() {\n var _props2 = this.props,\n loading = _props2.loading,\n style = _props2.style,\n intl = _props2.intl,\n custom_emojis = _props2.custom_emojis,\n skinTone = _props2.skinTone,\n frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n if (loading) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: { width: 299 }\n });\n }\n\n var title = intl.formatMessage(messages.emoji);\n var modifierOpen = this.state.modifierOpen;\n\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPicker, {\n perLine: 8,\n emojiSize: 22,\n sheetSize: 32,\n custom: Object(__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__[\"buildCustomEmojis\"])(custom_emojis),\n color: '',\n emoji: '',\n set: 'twitter',\n title: title,\n i18n: this.getI18n(),\n onClick: this.handleClick,\n include: categoriesSort,\n recent: frequentlyUsedEmojis,\n skin: skinTone,\n showPreview: false,\n backgroundImageFn: backgroundImageFn,\n emojiTooltip: true\n }),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPicker, {\n active: modifierOpen,\n modifier: skinTone,\n onOpen: this.handleModifierOpen,\n onClose: this.handleModifierClose,\n onChange: this.handleModifierChange\n })\n );\n };\n\n return EmojiPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class4.defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class5 = function (_React$PureComponent4) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerDropdown, _React$PureComponent4);\n\n function EmojiPickerDropdown() {\n var _temp5, _this4, _ret4;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerDropdown);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp5 = (_this4 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n active: false,\n loading: false\n }, _this4.setRef = function (c) {\n _this4.dropdown = c;\n }, _this4.onShowDropdown = function () {\n _this4.setState({ active: true });\n\n if (!EmojiPicker) {\n _this4.setState({ loading: true });\n\n Object(__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__[\"g\" /* EmojiPicker */])().then(function (EmojiMart) {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n _this4.setState({ loading: false });\n }).catch(function () {\n _this4.setState({ loading: false });\n });\n }\n }, _this4.onHideDropdown = function () {\n _this4.setState({ active: false });\n }, _this4.onToggle = function (e) {\n if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n if (_this4.state.active) {\n _this4.onHideDropdown();\n } else {\n _this4.onShowDropdown();\n }\n }\n }, _this4.handleKeyDown = function (e) {\n if (e.key === 'Escape') {\n _this4.onHideDropdown();\n }\n }, _this4.setTargetRef = function (c) {\n _this4.target = c;\n }, _this4.findTarget = function () {\n return _this4.target;\n }, _temp5), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this4, _ret4);\n }\n\n EmojiPickerDropdown.prototype.render = function render() {\n var _props3 = this.props,\n intl = _props3.intl,\n onPickEmoji = _props3.onPickEmoji,\n onSkinTone = _props3.onSkinTone,\n skinTone = _props3.skinTone,\n frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n var title = intl.formatMessage(messages.emoji);\n var _state = this.state,\n active = _state.active,\n loading = _state.loading;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'emoji-picker-dropdown',\n onKeyDown: this.handleKeyDown\n }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emojione', { 'pulse-loading': active && loading }),\n alt: '\\uD83D\\uDE42',\n src: assetHost + '/emoji/1f602.svg'\n })\n ), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n show: active,\n placement: 'bottom',\n target: this.findTarget\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPickerMenu, {\n custom_emojis: this.props.custom_emojis,\n loading: loading,\n onClose: this.onHideDropdown,\n onPick: onPickEmoji,\n onSkinTone: onSkinTone,\n skinTone: skinTone,\n frequentlyUsedEmojis: frequentlyUsedEmojis\n })));\n };\n\n return EmojiPickerDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class5;\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(34)))\n\n/***/ }),\n\n/***/ 305:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_form__ = __webpack_require__(306);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n mediaIds: state.getIn(['compose', 'media_attachments']).map(function (item) {\n return item.get('id');\n })\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 306:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__ = __webpack_require__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_upload_container__ = __webpack_require__(309);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar UploadForm = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadForm, _ImmutablePureCompone);\n\n function UploadForm() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadForm);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n UploadForm.prototype.render = function render() {\n var mediaIds = this.props.mediaIds;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__uploads-wrapper'\n }, void 0, mediaIds.map(function (id) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_upload_container__[\"a\" /* default */], {\n id: id\n }, id);\n })));\n };\n\n return UploadForm;\n}(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default.a), _class.propTypes = {\n mediaIds: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.list.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 307:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_progress__ = __webpack_require__(308);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress'])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 308:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadProgress; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(6);\n\n\n\n\n\n\n\n\n\n\nvar UploadProgress = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadProgress, _React$PureComponent);\n\n function UploadProgress() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadProgress);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n UploadProgress.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n progress = _props.progress;\n\n\n if (!active) {\n return null;\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-upload'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__message'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'upload_progress.label',\n defaultMessage: 'Uploading...'\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__backdrop'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { width: 0 },\n style: { width: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(progress) }\n }, void 0, function (_ref) {\n var width = _ref.width;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__tracker',\n style: { width: width + '%' }\n });\n }))));\n };\n\n return UploadProgress;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 309:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload__ = __webpack_require__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n return item.get('id') === id;\n })\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n\n onUndo: function onUndo(id) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"S\" /* undoUploadCompose */])(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"I\" /* changeUploadCompose */])(id, description));\n }\n\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 310:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Upload; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_classnames__);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Upload, _ImmutablePureCompone);\n\n function Upload() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Upload);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n hovered: false,\n focused: false,\n dirtyDescription: null\n }, _this.handleUndoClick = function () {\n _this.props.onUndo(_this.props.media.get('id'));\n }, _this.handleInputChange = function (e) {\n _this.setState({ dirtyDescription: e.target.value });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.handleInputFocus = function () {\n _this.setState({ focused: true });\n }, _this.handleInputBlur = function () {\n var dirtyDescription = _this.state.dirtyDescription;\n\n\n _this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Upload.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n media = _props.media;\n\n var active = this.state.hovered || this.state.focused;\n var description = this.state.dirtyDescription || media.get('description') || '';\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload',\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.8 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-thumbnail',\n style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_12_classnames___default()('compose-form__upload-description', { active: active })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.description)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n placeholder: intl.formatMessage(messages.description),\n type: 'text',\n value: description,\n maxLength: 420,\n onFocus: _this2.handleInputFocus,\n onChange: _this2.handleInputChange,\n onBlur: _this2.handleInputBlur\n }))));\n }));\n };\n\n return Upload;\n}(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default.a), _class2.propTypes = {\n media: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n onUndo: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onDescriptionChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 311:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_warning__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_5__initial_state__[\"e\" /* me */], 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\n\n if (needsLockWarning) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.lock_disclaimer',\n defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n values: { locked: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/profile'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.lock_disclaimer.lock',\n defaultMessage: 'locked'\n })) }\n })\n });\n }\n\n return null;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(mapStateToProps)(WarningWrapper));\n\n/***/ }),\n\n/***/ 312:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Warning; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n\n\n\n\n\n\n\n\n\nvar Warning = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Warning, _React$PureComponent);\n\n function Warning() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Warning);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n Warning.prototype.render = function render() {\n var message = this.props.message;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__warning',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, message);\n });\n };\n\n return Warning;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 313:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = countableText;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__url_regex__ = __webpack_require__(314);\n\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nfunction countableText(inputText) {\n return inputText.replace(__WEBPACK_IMPORTED_MODULE_0__url_regex__[\"a\" /* urlRegex */], urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};\n\n/***/ }),\n\n/***/ 314:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return urlRegex; });\nvar regexen = {};\n\nvar regexSupplant = function regexSupplant(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nvar stringSupplant = function stringSupplant(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return values[name] || '';\n });\n};\n\nvar urlRegex = function () {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp('(?:(?:' + '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' + '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' + 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' + 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' + 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' + 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' + 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' + 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' + 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' + 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' + 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' + 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' + 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' + 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' + 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' + 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' + 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' + 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' + 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' + 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' + 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' + 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' + 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' + 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' + 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' + 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' + 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' + 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' + 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' + 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' + 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' + 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' + 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' + 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' + 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' + 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' + 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' + 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' + 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' + 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' + 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' + 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' + 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' + 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' + 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' + 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' + 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' + 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' + 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' + 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' + 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' + 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' + 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' + 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' + 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' + 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' + 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' + 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' + 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' + 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' + 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' + 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' + 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' + 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' + 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' + 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' + 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' + 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' + 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' + 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' + 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' + 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' + 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' + 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' + 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' + 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' + 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' + 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' + 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' + 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' + 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' + 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' + 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' + 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' + 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' + 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' + 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' + 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp('(?:(?:' + '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' + 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' + 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' + 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' + 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' + 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' + 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' + 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' + 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' + 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' + 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant('\\\\(' + '(?:' + '#{validGeneralUrlPathChars}+' + '|' +\n // allow one nested level of balanced parentheses\n '(?:' + '#{validGeneralUrlPathChars}*' + '\\\\(' + '#{validGeneralUrlPathChars}+' + '\\\\)' + '#{validGeneralUrlPathChars}*' + ')' + ')' + '\\\\)', 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' + '(?:' + '#{validGeneralUrlPathChars}*' + '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' + '#{validUrlPathEndingChars}' + ')|(?:@#{validGeneralUrlPathChars}+\\/)' + ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant('(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')', 'gi');\n return regexen.validUrl;\n}();\n\n/***/ }),\n\n/***/ 315:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_compose_form__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(text) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"C\" /* changeCompose */])(text));\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"R\" /* submitCompose */])());\n },\n onClearSuggestions: function onClearSuggestions() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"J\" /* clearComposeSuggestions */])());\n },\n onFetchSuggestions: function onFetchSuggestions(token) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"K\" /* fetchComposeSuggestions */])(token));\n },\n onSuggestionSelected: function onSuggestionSelected(position, token, accountId) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"Q\" /* selectComposeSuggestion */])(position, token, accountId));\n },\n onChangeSpoilerText: function onChangeSpoilerText(checked) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"E\" /* changeComposeSpoilerText */])(checked));\n },\n onPaste: function onPaste(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"U\" /* uploadCompose */])(files));\n },\n onPickEmoji: function onPickEmoji(position, data) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"L\" /* insertEmojiCompose */])(position, data));\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_compose_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 752:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Compose; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__ = __webpack_require__(879);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_search_container__ = __webpack_require__(880);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__ = __webpack_require__(881);\n\n\n\n\n\nvar _dec, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n start: {\n 'id': 'getting_started.heading',\n 'defaultMessage': 'Getting started'\n },\n home_timeline: {\n 'id': 'tabs_bar.home',\n 'defaultMessage': 'Home'\n },\n notifications: {\n 'id': 'tabs_bar.notifications',\n 'defaultMessage': 'Notifications'\n },\n public: {\n 'id': 'navigation_bar.public_timeline',\n 'defaultMessage': 'Federated timeline'\n },\n community: {\n 'id': 'navigation_bar.community_timeline',\n 'defaultMessage': 'Local timeline'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n logout: {\n 'id': 'navigation_bar.logout',\n 'defaultMessage': 'Logout'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar Compose = (_dec = Object(__WEBPACK_IMPORTED_MODULE_7_react_redux__[\"connect\"])(mapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Compose, _React$PureComponent);\n\n function Compose() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Compose);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.onFocus = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(true));\n }, _this.onBlur = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(false));\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Compose.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"N\" /* mountCompose */])());\n };\n\n Compose.prototype.componentWillUnmount = function componentWillUnmount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"T\" /* unmountCompose */])());\n };\n\n Compose.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n showSearch = _props.showSearch,\n intl = _props.intl;\n\n\n var header = '';\n\n if (multiColumn) {\n var columns = this.props.columns;\n\n header = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('nav', {\n className: 'drawer__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/getting-started',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.start),\n 'aria-label': intl.formatMessage(messages.start)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-asterisk'\n })), !columns.some(function (column) {\n return column.get('id') === 'HOME';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/home',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.home_timeline),\n 'aria-label': intl.formatMessage(messages.home_timeline)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-home'\n })), !columns.some(function (column) {\n return column.get('id') === 'NOTIFICATIONS';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/notifications',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.notifications),\n 'aria-label': intl.formatMessage(messages.notifications)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-bell'\n })), !columns.some(function (column) {\n return column.get('id') === 'COMMUNITY';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public/local',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.community),\n 'aria-label': intl.formatMessage(messages.community)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-users'\n })), !columns.some(function (column) {\n return column.get('id') === 'PUBLIC';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.public),\n 'aria-label': intl.formatMessage(messages.public)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-globe'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/preferences',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.preferences),\n 'aria-label': intl.formatMessage(messages.preferences)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-cog'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/auth/sign_out',\n className: 'drawer__tab',\n 'data-method': 'delete',\n title: intl.formatMessage(messages.logout),\n 'aria-label': intl.formatMessage(messages.logout)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-sign-out'\n })));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer'\n }, void 0, header, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_search_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__pager'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner',\n onFocus: this.onFocus\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__[\"a\" /* default */], {\n onClose: this.onBlur\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { x: -100 },\n style: { x: __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default()(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }\n }, void 0, function (_ref) {\n var x = _ref.x;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner darker',\n style: { transform: 'translateX(' + x + '%)', visibility: x === -100 ? 'hidden' : 'visible' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__[\"a\" /* default */], {}));\n })));\n };\n\n return Compose;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 777:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_account__ = __webpack_require__(778);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"c\" /* makeGetAccount */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (__WEBPACK_IMPORTED_MODULE_8__initial_state__[\"g\" /* unfollowModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n }));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"A\" /* followAccount */])(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"D\" /* unblockAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"F\" /* unmuteAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_5__components_account__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 778:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Account; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__initial_state__ = __webpack_require__(18);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Account);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {});\n }\n\n if (hidden) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== __WEBPACK_IMPORTED_MODULE_13__initial_state__[\"e\" /* me */] && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__permalink__[\"a\" /* default */], {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__avatar-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__avatar__[\"a\" /* default */], {\n account: account,\n size: 36\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__display_name__[\"a\" /* default */], {\n account: account\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default.a), _class2.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n onFollow: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onBlock: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onMute: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n hidden: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 802:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavigationBar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\n\nvar NavigationBar = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(NavigationBar, _ImmutablePureCompone);\n\n function NavigationBar() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, NavigationBar);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n NavigationBar.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'navigation-bar'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, this.props.account.get('acct')), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n account: this.props.account,\n size: 40\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'navigation-bar__profile'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {\n className: 'navigation-bar__profile-account'\n }, void 0, '@', this.props.account.get('acct'))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/profile',\n className: 'navigation-bar__profile-edit'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'navigation_bar.edit_profile',\n defaultMessage: 'Edit profile'\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n title: '',\n icon: 'close',\n onClick: this.props.onClose\n }));\n };\n\n return NavigationBar;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default.a.map.isRequired,\n onClose: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 803:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Search; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__);\n\n\n\n\n\nvar _class;\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n placeholder: {\n 'id': 'search.placeholder',\n 'defaultMessage': 'Search'\n }\n});\n\nvar SearchPopout = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchPopout, _React$PureComponent);\n\n function SearchPopout() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchPopout);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n SearchPopout.prototype.render = function render() {\n var style = this.props.style;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: Object.assign({}, style, { position: 'absolute', width: 285 })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-popout',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h4', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.search_format',\n defaultMessage: 'Advanced search format'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('ul', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '#example'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.hashtag',\n defaultMessage: 'hashtag'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '@username@domain'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.status',\n defaultMessage: 'status'\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.text',\n defaultMessage: 'Simple text returns matching display names, usernames and hashtags'\n }));\n }));\n };\n\n return SearchPopout;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar Search = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Search, _React$PureComponent2);\n\n function Search() {\n var _temp, _this2, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Search);\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 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n expanded: false\n }, _this2.handleChange = function (e) {\n _this2.props.onChange(e.target.value);\n }, _this2.handleClear = function (e) {\n e.preventDefault();\n\n if (_this2.props.value.length > 0 || _this2.props.submitted) {\n _this2.props.onClear();\n }\n }, _this2.handleKeyDown = function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n _this2.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }, _this2.handleFocus = function () {\n _this2.setState({ expanded: true });\n _this2.props.onShow();\n }, _this2.handleBlur = function () {\n _this2.setState({ expanded: false });\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret);\n }\n\n Search.prototype.noop = function noop() {};\n\n Search.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n value = _props.value,\n submitted = _props.submitted;\n var expanded = this.state.expanded;\n\n var hasValue = value.length > 0 || submitted;\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.placeholder)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n className: 'search__input',\n type: 'text',\n placeholder: intl.formatMessage(messages.placeholder),\n value: value,\n onChange: this.handleChange,\n onKeyUp: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n className: 'search__icon',\n onClick: this.handleClear\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-search ' + (hasValue ? '' : 'active')\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n 'aria-label': intl.formatMessage(messages.placeholder),\n className: 'fa fa-times-circle ' + (hasValue ? 'active' : '')\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default.a, {\n show: expanded && !hasValue,\n placement: 'bottom',\n target: this\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(SearchPopout, {})));\n };\n\n return Search;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class;\n\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__ = __webpack_require__(802);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__initial_state__ = __webpack_require__(18);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n account: state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_2__initial_state__[\"e\" /* me */]])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 880:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__actions_search__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_search__ = __webpack_require__(803);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"e\" /* changeSearch */])(value));\n },\n onClear: function onClear() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"f\" /* clearSearch */])());\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"h\" /* submitSearch */])());\n },\n onShow: function onShow() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"g\" /* showSearch */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_2__components_search__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 881:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_search_results__ = __webpack_require__(882);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n results: state.getIn(['search', 'results'])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_search_results__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 882:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SearchResults; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_account_container__ = __webpack_require__(777);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_status_container__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\nvar SearchResults = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchResults, _ImmutablePureCompone);\n\n function SearchResults() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchResults);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n SearchResults.prototype.render = function render() {\n var results = this.props.results;\n\n\n var accounts = void 0,\n statuses = void 0,\n hashtags = void 0;\n var count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('accounts').map(function (accountId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_account_container__[\"a\" /* default */], {\n id: accountId\n }, accountId);\n }));\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('statuses').map(function (statusId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_status_container__[\"a\" /* default */], {\n id: statusId\n }, statusId);\n }));\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('hashtags').map(function (hashtag) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n className: 'search-results__hashtag',\n to: '/timelines/tag/' + hashtag\n }, hashtag, '#', hashtag);\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_results.total',\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n values: { count: count }\n })), accounts, statuses, hashtags);\n };\n\n return SearchResults;\n}(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default.a), _class.propTypes = {\n results: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// features/compose-4617f6e912b5bfa71c43.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport {\n replyCompose,\n mentionCompose,\n} from '../actions/compose';\nimport {\n reblog,\n favourite,\n unreblog,\n unfavourite,\n pin,\n unpin,\n} from '../actions/interactions';\nimport {\n blockAccount,\n muteAccount,\n} from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n muteConfirm: { id: 'confirmations.mute.confirm', defaultMessage: 'Mute' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => ({\n status: getStatus(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onReply (status, router) {\n dispatch(replyCompose(status, router));\n },\n\n onModalReblog (status) {\n dispatch(reblog(status));\n },\n\n onReblog (status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n }\n }\n },\n\n onFavourite (status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n\n onPin (status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n\n onEmbed (status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n\n onDelete (status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n }));\n }\n },\n\n onMention (account, router) {\n dispatch(mentionCompose(account, router));\n },\n\n onOpenMedia (media, index) {\n dispatch(openModal('MEDIA', { media, index }));\n },\n\n onOpenVideo (media, time) {\n dispatch(openModal('VIDEO', { media, time }));\n },\n\n onBlock (account) {\n dispatch(openModal('CONFIRM', {\n message: @{account.get('acct')} }} />,\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: () => dispatch(blockAccount(account.get('id'))),\n }));\n },\n\n onReport (status) {\n dispatch(initReport(status.get('account'), status));\n },\n\n onMute (account) {\n dispatch(openModal('CONFIRM', {\n message: @{account.get('acct')} }} />,\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: () => dispatch(muteAccount(account.get('id'))),\n }));\n },\n\n onMuteConversation (status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/status_container.js","import React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport Collapsable from '../../../components/collapsable';\nimport SpoilerButtonContainer from '../containers/spoiler_button_container';\nimport PrivacyDropdownContainer from '../containers/privacy_dropdown_container';\nimport SensitiveButtonContainer from '../containers/sensitive_button_container';\nimport EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';\nimport UploadFormContainer from '../containers/upload_form_container';\nimport WarningContainer from '../containers/warning_container';\nimport { isMobile } from '../../../is_mobile';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { length } from 'stringz';\nimport { countableText } from '../util/counter';\n\nconst messages = defineMessages({\n placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },\n spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' },\n publish: { id: 'compose_form.publish', defaultMessage: 'Toot' },\n publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },\n});\n\n@injectIntl\nexport default class ComposeForm extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n text: PropTypes.string.isRequired,\n suggestion_token: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n spoiler: PropTypes.bool,\n privacy: PropTypes.string,\n spoiler_text: PropTypes.string,\n focusDate: PropTypes.instanceOf(Date),\n preselectDate: PropTypes.instanceOf(Date),\n is_submitting: PropTypes.bool,\n is_uploading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClearSuggestions: PropTypes.func.isRequired,\n onFetchSuggestions: PropTypes.func.isRequired,\n onSuggestionSelected: PropTypes.func.isRequired,\n onChangeSpoilerText: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n showSearch: PropTypes.bool,\n };\n\n static defaultProps = {\n showSearch: false,\n };\n\n handleChange = (e) => {\n this.props.onChange(e.target.value);\n }\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n this.handleSubmit();\n }\n }\n\n handleSubmit = () => {\n if (this.props.text !== this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n this.props.onChange(this.autosuggestTextarea.textarea.value);\n }\n\n this.props.onSubmit();\n }\n\n onSuggestionsClearRequested = () => {\n this.props.onClearSuggestions();\n }\n\n onSuggestionsFetchRequested = (token) => {\n this.props.onFetchSuggestions(token);\n }\n\n onSuggestionSelected = (tokenStart, token, value) => {\n this._restoreCaret = null;\n this.props.onSuggestionSelected(tokenStart, token, value);\n }\n\n handleChangeSpoilerText = (e) => {\n this.props.onChangeSpoilerText(e.target.value);\n }\n\n componentWillReceiveProps (nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\n }\n\n componentDidUpdate (prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n // - If we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || (prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number')) {\n let selectionEnd, selectionStart;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if(prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n }\n }\n\n setAutosuggestTextarea = (c) => {\n this.autosuggestTextarea = c;\n }\n\n handleEmojiPick = (data) => {\n const position = this.autosuggestTextarea.textarea.selectionStart;\n const emojiChar = data.native;\n this._restoreCaret = position + emojiChar.length + 1;\n this.props.onPickEmoji(position, data);\n }\n\n render () {\n const { intl, onPaste, showSearch } = this.props;\n const disabled = this.props.is_submitting;\n const text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\n let publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = {intl.formatMessage(messages.publish)};\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return (\n
\n \n
\n \n
\n
\n\n \n\n \n\n
\n \n\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n \n
\n\n
\n
\n
\n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/compose_form.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { length } from 'stringz';\n\nexport default class CharacterCounter extends React.PureComponent {\n\n static propTypes = {\n text: PropTypes.string.isRequired,\n max: PropTypes.number.isRequired,\n };\n\n checkRemainingText (diff) {\n if (diff < 0) {\n return {diff};\n }\n\n return {diff};\n }\n\n render () {\n const diff = this.props.max - length(this.props.text);\n return this.checkRemainingText(diff);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/character_counter.js","import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = state => ({\n status: getStatus(state, state.getIn(['compose', 'in_reply_to'])),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n\n onCancel () {\n dispatch(cancelReplyCompose());\n },\n\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },\n});\n\n@injectIntl\nexport default class ReplyIndicator extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map,\n onCancel: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleClick = () => {\n this.props.onCancel();\n }\n\n handleAccountClick = (e) => {\n if (e.button === 0) {\n e.preventDefault();\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n }\n\n render () {\n const { status, intl } = this.props;\n\n if (!status) {\n return null;\n }\n\n const content = { __html: status.get('contentHtml') };\n\n return (\n
\n
\n
\n\n \n
\n \n
\n
\n\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/reply_indicator.js","import React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nconst textAtCursorMatchesToken = (str, caretPosition) => {\n let word;\n\n let left = str.slice(0, caretPosition).search(/\\S+$/);\n let right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nexport default class AutosuggestTextarea extends ImmutablePureComponent {\n\n static propTypes = {\n value: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n onSuggestionSelected: PropTypes.func.isRequired,\n onSuggestionsClearRequested: PropTypes.func.isRequired,\n onSuggestionsFetchRequested: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n onPaste: PropTypes.func.isRequired,\n autoFocus: PropTypes.bool,\n };\n\n static defaultProps = {\n autoFocus: true,\n };\n\n state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0,\n };\n\n onChange = (e) => {\n const [ tokenStart, token ] = textAtCursorMatchesToken(e.target.value, e.target.selectionStart);\n\n if (token !== null && this.state.lastToken !== token) {\n this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart });\n this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n this.setState({ lastToken: null });\n this.props.onSuggestionsClearRequested();\n }\n\n this.props.onChange(e);\n }\n\n onKeyDown = (e) => {\n const { suggestions, disabled } = this.props;\n const { selectedSuggestion, suggestionsHidden } = this.state;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch(e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !this.props.onKeyDown) {\n return;\n }\n\n this.props.onKeyDown(e);\n }\n\n onKeyUp = e => {\n if (e.key === 'Escape' && this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (this.props.onKeyUp) {\n this.props.onKeyUp(e);\n }\n }\n\n onBlur = () => {\n this.setState({ suggestionsHidden: true });\n }\n\n onSuggestionClick = (e) => {\n const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);\n this.textarea.focus();\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n }\n\n setTextarea = (c) => {\n this.textarea = c;\n }\n\n onPaste = (e) => {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }\n\n renderSuggestion = (suggestion, i) => {\n const { selectedSuggestion } = this.state;\n let inner, key;\n\n if (typeof suggestion === 'object') {\n inner = ;\n key = suggestion.id;\n } else {\n inner = ;\n key = suggestion;\n }\n\n return (\n
\n {inner}\n
\n );\n }\n\n render () {\n const { value, suggestions, disabled, placeholder, autoFocus } = this.props;\n const { suggestionsHidden } = this.state;\n const style = { direction: 'ltr' };\n\n if (isRtl(value)) {\n style.direction = 'rtl';\n }\n\n return (\n
\n \n\n
\n {suggestions.map(this.renderSuggestion)}\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_textarea.js","import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { id }) => ({\n account: getAccount(state, id),\n });\n\n return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","import React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class AutosuggestAccount extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { account } = this.props;\n\n return (\n
\n
\n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/autosuggest_account.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nconst assetHost = process.env.CDN_HOST || '';\n\nexport default class AutosuggestEmoji extends React.PureComponent {\n\n static propTypes = {\n emoji: PropTypes.object.isRequired,\n };\n\n render () {\n const { emoji } = this.props;\n let url;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n const mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = `${assetHost}/emoji/${mapping.filename}.svg`;\n }\n\n return (\n
\n \n\n {emoji.colons}\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_emoji.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return React.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n onHeightChange: PropTypes.func,\n useCacheForDOMMeasurements: PropTypes.bool,\n minRows: PropTypes.number,\n maxRows: PropTypes.number,\n inputRef: PropTypes.func\n};\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/react-textarea-autosize/es/index.js","import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),\n resetFileKey: state.getIn(['compose', 'resetFileKey']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onSelectFile (files) {\n dispatch(uploadCompose(files));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_button_container.js","import React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nconst messages = defineMessages({\n upload: { id: 'upload_button.label', defaultMessage: 'Add media' },\n});\n\nconst makeMapStateToProps = () => {\n const mapStateToProps = state => ({\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types']),\n });\n\n return mapStateToProps;\n};\n\nconst iconStyle = {\n height: null,\n lineHeight: '27px',\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class UploadButton extends ImmutablePureComponent {\n\n static propTypes = {\n disabled: PropTypes.bool,\n onSelectFile: PropTypes.func.isRequired,\n style: PropTypes.object,\n resetFileKey: PropTypes.number,\n acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleChange = (e) => {\n if (e.target.files.length > 0) {\n this.props.onSelectFile(e.target.files);\n }\n }\n\n handleClick = () => {\n this.fileElement.click();\n }\n\n setRef = (c) => {\n this.fileElement = c;\n }\n\n render () {\n\n const { intl, resetFileKey, disabled, acceptContentTypes } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_button.js","import React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport PropTypes from 'prop-types';\n\nconst Collapsable = ({ fullHeight, isVisible, children }) => (\n \n {({ opacity, height }) =>\n
\n {children}\n
\n }\n
\n);\n\nCollapsable.propTypes = {\n fullHeight: PropTypes.number.isRequired,\n isVisible: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default Collapsable;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/collapsable.js","import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n title: { id: 'compose_form.spoiler', defaultMessage: 'Hide text behind warning' },\n});\n\nconst mapStateToProps = (state, { intl }) => ({\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input',\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onClick () {\n dispatch(changeComposeSpoilerness());\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class TextIconButton extends React.PureComponent {\n\n static propTypes = {\n label: PropTypes.string.isRequired,\n title: PropTypes.string,\n active: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n ariaControls: PropTypes.string,\n };\n\n handleClick = (e) => {\n e.preventDefault();\n this.props.onClick();\n }\n\n render () {\n const { label, title, active, ariaControls } = this.props;\n\n return (\n \n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/text_icon_button.js","import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nconst mapStateToProps = state => ({\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeComposeVisibility(value));\n },\n\n isUserTouching,\n onModalOpen: props => dispatch(openModal('ACTIONS', props)),\n onModalClose: () => dispatch(closeModal()),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },\n public_long: { id: 'privacy.public.long', defaultMessage: 'Post to public timelines' },\n unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },\n unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Do not show in public timelines' },\n private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' },\n private_long: { id: 'privacy.private.long', defaultMessage: 'Post to followers only' },\n direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' },\n direct_long: { id: 'privacy.direct.long', defaultMessage: 'Post to mentioned users only' },\n change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' },\n});\n\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nclass PrivacyDropdownMenu extends React.PureComponent {\n\n static propTypes = {\n style: PropTypes.object,\n items: PropTypes.array.isRequired,\n value: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n handleClick = e => {\n if (e.key === 'Escape') {\n this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n const value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n this.props.onClose();\n this.props.onChange(value);\n }\n }\n\n componentDidMount () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n componentWillUnmount () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n render () {\n const { style, items, value } = this.props;\n\n return (\n \n {({ opacity, scaleX, scaleY }) => (\n
\n {items.map(item =>\n
\n
\n \n
\n\n
\n {item.text}\n {item.meta}\n
\n
\n )}\n
\n )}\n
\n );\n }\n\n}\n\n@injectIntl\nexport default class PrivacyDropdown extends React.PureComponent {\n\n static propTypes = {\n isUserTouching: PropTypes.func,\n isModalOpen: PropTypes.bool.isRequired,\n onModalOpen: PropTypes.func,\n onModalClose: PropTypes.func,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: false,\n };\n\n handleToggle = () => {\n if (this.props.isUserTouching()) {\n if (this.state.open) {\n this.props.onModalClose();\n } else {\n this.props.onModalOpen({\n actions: this.options.map(option => ({ ...option, active: option.value === this.props.value })),\n onClick: this.handleModalActionClick,\n });\n }\n } else {\n this.setState({ open: !this.state.open });\n }\n }\n\n handleModalActionClick = (e) => {\n e.preventDefault();\n\n const { value } = this.options[e.currentTarget.getAttribute('data-index')];\n\n this.props.onModalClose();\n this.props.onChange(value);\n }\n\n handleKeyDown = e => {\n switch(e.key) {\n case 'Enter':\n this.handleToggle();\n break;\n case 'Escape':\n this.handleClose();\n break;\n }\n }\n\n handleClose = () => {\n this.setState({ open: false });\n }\n\n handleChange = value => {\n this.props.onChange(value);\n }\n\n componentWillMount () {\n const { intl: { formatMessage } } = this.props;\n\n this.options = [\n { icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) },\n { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) },\n { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) },\n { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) },\n ];\n }\n\n render () {\n const { value, intl } = this.props;\n const { open } = this.state;\n\n const valueOption = this.options.find(item => item.value === value);\n\n return (\n
\n
\n \n
\n\n \n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/privacy_dropdown.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n title: { id: 'compose_form.sensitive', defaultMessage: 'Mark media as sensitive' },\n});\n\nconst mapStateToProps = state => ({\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onClick () {\n dispatch(changeComposeSensitivity());\n },\n\n});\n\nclass SensitiveButton extends React.PureComponent {\n\n static propTypes = {\n visible: PropTypes.bool,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { visible, active, disabled, onClick, intl } = this.props;\n\n return (\n \n {({ scale }) => {\n const icon = active ? 'eye-slash' : 'eye';\n const className = classNames('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible,\n });\n return (\n
\n \n
\n );\n }}\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js","import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nconst perLine = 8;\nconst lines = 2;\n\nconst DEFAULTS = [\n '+1',\n 'grinning',\n 'kissing_heart',\n 'heart_eyes',\n 'laughing',\n 'stuck_out_tongue_winking_eye',\n 'sweat_smile',\n 'joy',\n 'yum',\n 'disappointed',\n 'thinking_face',\n 'weary',\n 'sob',\n 'sunglasses',\n 'heart',\n 'ok_hand',\n];\n\nconst getFrequentlyUsedEmojis = createSelector([\n state => state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap()),\n], emojiCounters => {\n let emojis = emojiCounters\n .keySeq()\n .sort((a, b) => emojiCounters.get(a) - emojiCounters.get(b))\n .reverse()\n .slice(0, perLine * lines)\n .toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nconst getCustomEmojis = createSelector([\n state => state.get('custom_emojis'),\n], emojis => emojis.filter(e => e.get('visible_in_picker')).sort((a, b) => {\n const aShort = a.get('shortcode').toLowerCase();\n const bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort ) {\n return 1;\n } else {\n return 0;\n }\n}));\n\nconst mapStateToProps = state => ({\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state),\n});\n\nconst mapDispatchToProps = (dispatch, { onPickEmoji }) => ({\n onSkinTone: skinTone => {\n dispatch(changeSetting(['skinTone'], skinTone));\n },\n\n onPickEmoji: emoji => {\n dispatch(useEmoji(emoji));\n\n if (onPickEmoji) {\n onPickEmoji(emoji);\n }\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nconst messages = defineMessages({\n emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },\n emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },\n emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojos!! (╯°□°)╯︵ ┻━┻' },\n custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },\n recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },\n search_results: { id: 'emoji_button.search_results', defaultMessage: 'Search results' },\n people: { id: 'emoji_button.people', defaultMessage: 'People' },\n nature: { id: 'emoji_button.nature', defaultMessage: 'Nature' },\n food: { id: 'emoji_button.food', defaultMessage: 'Food & Drink' },\n activity: { id: 'emoji_button.activity', defaultMessage: 'Activity' },\n travel: { id: 'emoji_button.travel', defaultMessage: 'Travel & Places' },\n objects: { id: 'emoji_button.objects', defaultMessage: 'Objects' },\n symbols: { id: 'emoji_button.symbols', defaultMessage: 'Symbols' },\n flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' },\n});\n\nconst assetHost = process.env.CDN_HOST || '';\nlet EmojiPicker, Emoji; // load asynchronously\n\nconst backgroundImageFn = () => `${assetHost}/emoji/sheet.png`;\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nconst categoriesSort = [\n 'recent',\n 'custom',\n 'people',\n 'nature',\n 'foods',\n 'activity',\n 'places',\n 'objects',\n 'symbols',\n 'flags',\n];\n\nclass ModifierPickerMenu extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n };\n\n handleClick = e => {\n this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n }\n\n componentWillUnmount () {\n this.removeListeners();\n }\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n attachListeners () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n removeListeners () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n render () {\n const { active } = this.props;\n\n return (\n
\n \n \n \n \n \n \n
\n );\n }\n\n}\n\nclass ModifierPicker extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n modifier: PropTypes.number,\n onChange: PropTypes.func,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n };\n\n handleClick = () => {\n if (this.props.active) {\n this.props.onClose();\n } else {\n this.props.onOpen();\n }\n }\n\n handleSelect = modifier => {\n this.props.onChange(modifier);\n this.props.onClose();\n }\n\n render () {\n const { active, modifier } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n\n}\n\n@injectIntl\nclass EmojiPickerMenu extends React.PureComponent {\n\n static propTypes = {\n custom_emojis: ImmutablePropTypes.list,\n frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n loading: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onPick: PropTypes.func.isRequired,\n style: PropTypes.object,\n placement: PropTypes.string,\n arrowOffsetLeft: PropTypes.string,\n arrowOffsetTop: PropTypes.string,\n intl: PropTypes.object.isRequired,\n skinTone: PropTypes.number.isRequired,\n onSkinTone: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: [],\n };\n\n state = {\n modifierOpen: false,\n };\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n componentDidMount () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n componentWillUnmount () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n getI18n = () => {\n const { intl } = this.props;\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom),\n },\n };\n }\n\n handleClick = emoji => {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n this.props.onClose();\n this.props.onPick(emoji);\n }\n\n handleModifierOpen = () => {\n this.setState({ modifierOpen: true });\n }\n\n handleModifierClose = () => {\n this.setState({ modifierOpen: false });\n }\n\n handleModifierChange = modifier => {\n this.props.onSkinTone(modifier);\n }\n\n render () {\n const { loading, style, intl, custom_emojis, skinTone, frequentlyUsedEmojis } = this.props;\n\n if (loading) {\n return
;\n }\n\n const title = intl.formatMessage(messages.emoji);\n const { modifierOpen } = this.state;\n\n return (\n
\n \n\n \n
\n );\n }\n\n}\n\n@injectIntl\nexport default class EmojiPickerDropdown extends React.PureComponent {\n\n static propTypes = {\n custom_emojis: ImmutablePropTypes.list,\n frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n intl: PropTypes.object.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n onSkinTone: PropTypes.func.isRequired,\n skinTone: PropTypes.number.isRequired,\n };\n\n state = {\n active: false,\n loading: false,\n };\n\n setRef = (c) => {\n this.dropdown = c;\n }\n\n onShowDropdown = () => {\n this.setState({ active: true });\n\n if (!EmojiPicker) {\n this.setState({ loading: true });\n\n EmojiPickerAsync().then(EmojiMart => {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n this.setState({ loading: false });\n }).catch(() => {\n this.setState({ loading: false });\n });\n }\n }\n\n onHideDropdown = () => {\n this.setState({ active: false });\n }\n\n onToggle = (e) => {\n if (!this.state.loading && (!e.key || e.key === 'Enter')) {\n if (this.state.active) {\n this.onHideDropdown();\n } else {\n this.onShowDropdown();\n }\n }\n }\n\n handleKeyDown = e => {\n if (e.key === 'Escape') {\n this.onHideDropdown();\n }\n }\n\n setTargetRef = c => {\n this.target = c;\n }\n\n findTarget = () => {\n return this.target;\n }\n\n render () {\n const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props;\n const title = intl.formatMessage(messages.emoji);\n const { active, loading } = this.state;\n\n return (\n
\n
\n \n
\n\n \n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js","import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nconst mapStateToProps = state => ({\n mediaIds: state.getIn(['compose', 'media_attachments']).map(item => item.get('id')),\n});\n\nexport default connect(mapStateToProps)(UploadForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_form_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nexport default class UploadForm extends ImmutablePureComponent {\n\n static propTypes = {\n mediaIds: ImmutablePropTypes.list.isRequired,\n };\n\n render () {\n const { mediaIds } = this.props;\n\n return (\n
\n \n\n
\n {mediaIds.map(id => (\n \n ))}\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_form.js","import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nconst mapStateToProps = state => ({\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress']),\n});\n\nexport default connect(mapStateToProps)(UploadProgress);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_progress_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class UploadProgress extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n progress: PropTypes.number,\n };\n\n render () {\n const { active, progress } = this.props;\n\n if (!active) {\n return null;\n }\n\n return (\n
\n
\n \n
\n\n
\n \n\n
\n \n {({ width }) =>\n
\n }\n \n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_progress.js","import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\n\nconst mapStateToProps = (state, { id }) => ({\n media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onUndo: id => {\n dispatch(undoUploadCompose(id));\n },\n\n onDescriptionChange: (id, description) => {\n dispatch(changeUploadCompose(id, description));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },\n description: { id: 'upload_form.description', defaultMessage: 'Describe for the visually impaired' },\n});\n\n@injectIntl\nexport default class Upload extends ImmutablePureComponent {\n\n static propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n onUndo: PropTypes.func.isRequired,\n onDescriptionChange: PropTypes.func.isRequired,\n };\n\n state = {\n hovered: false,\n focused: false,\n dirtyDescription: null,\n };\n\n handleUndoClick = () => {\n this.props.onUndo(this.props.media.get('id'));\n }\n\n handleInputChange = e => {\n this.setState({ dirtyDescription: e.target.value });\n }\n\n handleMouseEnter = () => {\n this.setState({ hovered: true });\n }\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n }\n\n handleInputFocus = () => {\n this.setState({ focused: true });\n }\n\n handleInputBlur = () => {\n const { dirtyDescription } = this.state;\n\n this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n this.props.onDescriptionChange(this.props.media.get('id'), dirtyDescription);\n }\n }\n\n render () {\n const { intl, media } = this.props;\n const active = this.state.hovered || this.state.focused;\n const description = this.state.dirtyDescription || media.get('description') || '';\n\n return (\n
\n \n {({ scale }) => (\n
\n \n\n
\n \n
\n
\n )}\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nconst mapStateToProps = state => ({\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),\n});\n\nconst WarningWrapper = ({ needsLockWarning }) => {\n if (needsLockWarning) {\n return }} />} />;\n }\n\n return null;\n};\n\nWarningWrapper.propTypes = {\n needsLockWarning: PropTypes.bool,\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/warning_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nexport default class Warning extends React.PureComponent {\n\n static propTypes = {\n message: PropTypes.node.isRequired,\n };\n\n render () {\n const { message } = this.props;\n\n return (\n \n {({ opacity, scaleX, scaleY }) => (\n
\n {message}\n
\n )}\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/warning.js","import { urlRegex } from './url_regex';\n\nconst urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nexport function countableText(inputText) {\n return inputText\n .replace(urlRegex, urlPlaceholder)\n .replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/util/counter.js","const regexen = {};\n\nconst regexSupplant = function(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function(match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nconst stringSupplant = function(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function(match, name) {\n return values[name] || '';\n });\n};\n\nexport const urlRegex = (function() {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp(\n '(?:(?:' +\n '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' +\n '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' +\n 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' +\n 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' +\n 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' +\n 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' +\n 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' +\n 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' +\n 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' +\n 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' +\n 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' +\n 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' +\n 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' +\n 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' +\n 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' +\n 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' +\n 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' +\n 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' +\n 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' +\n 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' +\n 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' +\n 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' +\n 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' +\n 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' +\n 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' +\n 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' +\n 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' +\n 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' +\n 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' +\n 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' +\n 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' +\n 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' +\n 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' +\n 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' +\n 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' +\n 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' +\n 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' +\n 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' +\n 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' +\n 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' +\n 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' +\n 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' +\n 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' +\n 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' +\n 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' +\n 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' +\n 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' +\n 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' +\n 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' +\n 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' +\n 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' +\n 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' +\n 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' +\n 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' +\n 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' +\n 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' +\n 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' +\n 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' +\n 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' +\n 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' +\n 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' +\n 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' +\n 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' +\n 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' +\n 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' +\n 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' +\n 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' +\n 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' +\n 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' +\n 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' +\n 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' +\n 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' +\n 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' +\n 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' +\n 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' +\n 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' +\n 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' +\n 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' +\n 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' +\n 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' +\n 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' +\n 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' +\n 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' +\n 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' +\n 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' +\n 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' +\n 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' +\n 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' +\n ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp(\n '(?:(?:' +\n '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' +\n 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' +\n 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' +\n 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' +\n 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' +\n 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' +\n 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' +\n 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' +\n 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' +\n 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' +\n 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' +\n ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant(\n '\\\\(' +\n '(?:' +\n '#{validGeneralUrlPathChars}+' +\n '|' +\n // allow one nested level of balanced parentheses\n '(?:' +\n '#{validGeneralUrlPathChars}*' +\n '\\\\(' +\n '#{validGeneralUrlPathChars}+' +\n '\\\\)' +\n '#{validGeneralUrlPathChars}*' +\n ')' +\n ')' +\n '\\\\)'\n , 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' +\n '(?:' +\n '#{validGeneralUrlPathChars}*' +\n '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' +\n '#{validUrlPathEndingChars}'+\n ')|(?:@#{validGeneralUrlPathChars}+\\/)'+\n ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant(\n '(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')'\n , 'gi');\n return regexen.validUrl;\n}());\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/util/url_regex.js","import { connect } from 'react-redux';\nimport ComposeForm from '../components/compose_form';\nimport { uploadCompose } from '../../../actions/compose';\nimport {\n changeCompose,\n submitCompose,\n clearComposeSuggestions,\n fetchComposeSuggestions,\n selectComposeSuggestion,\n changeComposeSpoilerText,\n insertEmojiCompose,\n} from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n\n onChange (text) {\n dispatch(changeCompose(text));\n },\n\n onSubmit () {\n dispatch(submitCompose());\n },\n\n onClearSuggestions () {\n dispatch(clearComposeSuggestions());\n },\n\n onFetchSuggestions (token) {\n dispatch(fetchComposeSuggestions(token));\n },\n\n onSuggestionSelected (position, token, accountId) {\n dispatch(selectComposeSuggestion(position, token, accountId));\n },\n\n onChangeSpoilerText (checked) {\n dispatch(changeComposeSpoilerText(checked));\n },\n\n onPaste (files) {\n dispatch(uploadCompose(files));\n },\n\n onPickEmoji (position, data) {\n dispatch(insertEmojiCompose(position, data));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/compose_form_container.js","import React from 'react';\nimport ComposeFormContainer from './containers/compose_form_container';\nimport NavigationContainer from './containers/navigation_container';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport { mountCompose, unmountCompose } from '../../actions/compose';\nimport { Link } from 'react-router-dom';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport SearchContainer from './containers/search_container';\nimport Motion from '../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport SearchResultsContainer from './containers/search_results_container';\nimport { changeComposing } from '../../actions/compose';\n\nconst messages = defineMessages({\n start: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },\n});\n\nconst mapStateToProps = state => ({\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Compose extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columns: ImmutablePropTypes.list.isRequired,\n multiColumn: PropTypes.bool,\n showSearch: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n };\n\n componentDidMount () {\n this.props.dispatch(mountCompose());\n }\n\n componentWillUnmount () {\n this.props.dispatch(unmountCompose());\n }\n\n onFocus = () => {\n this.props.dispatch(changeComposing(true));\n }\n\n onBlur = () => {\n this.props.dispatch(changeComposing(false));\n }\n\n render () {\n const { multiColumn, showSearch, intl } = this.props;\n\n let header = '';\n\n if (multiColumn) {\n const { columns } = this.props;\n header = (\n \n );\n }\n\n return (\n
\n {header}\n\n \n\n
\n
\n \n \n
\n\n \n {({ x }) =>\n
\n \n
\n }\n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/index.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport {\n followAccount,\n unfollowAccount,\n blockAccount,\n unblockAccount,\n muteAccount,\n unmuteAccount,\n} from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nconst messages = defineMessages({\n unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onFollow (account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: @{account.get('acct')} }} />,\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: () => dispatch(unfollowAccount(account.get('id'))),\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n\n onBlock (account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n\n onMute (account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/account_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nconst messages = defineMessages({\n follow: { id: 'account.follow', defaultMessage: 'Follow' },\n unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },\n requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' },\n unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },\n unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },\n});\n\n@injectIntl\nexport default class Account extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool,\n };\n\n handleFollow = () => {\n this.props.onFollow(this.props.account);\n }\n\n handleBlock = () => {\n this.props.onBlock(this.props.account);\n }\n\n handleMute = () => {\n this.props.onMute(this.props.account);\n }\n\n render () {\n const { account, intl, hidden } = this.props;\n\n if (!account) {\n return
;\n }\n\n if (hidden) {\n return (\n
\n {account.get('display_name')}\n {account.get('username')}\n
\n );\n }\n\n let buttons;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n const following = account.getIn(['relationship', 'following']);\n const requested = account.getIn(['relationship', 'requested']);\n const blocking = account.getIn(['relationship', 'blocking']);\n const muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = ;\n } else if (blocking) {\n buttons = ;\n } else if (muting) {\n buttons = ;\n } else {\n buttons = ;\n }\n }\n\n return (\n
\n
\n \n
\n \n
\n\n
\n {buttons}\n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/account.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport Permalink from '../../../components/permalink';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class NavigationBar extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onClose: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n
\n \n {this.props.account.get('acct')}\n \n \n\n
\n \n @{this.props.account.get('acct')}\n \n\n \n
\n\n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/navigation_bar.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nconst messages = defineMessages({\n placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },\n});\n\nclass SearchPopout extends React.PureComponent {\n\n static propTypes = {\n style: PropTypes.object,\n };\n\n render () {\n const { style } = this.props;\n\n return (\n
\n \n {({ opacity, scaleX, scaleY }) => (\n
\n

\n\n
    \n
  • #example
  • \n
  • @username@domain
  • \n
  • URL
  • \n
  • URL
  • \n
\n\n \n
\n )}\n
\n
\n );\n }\n\n}\n\n@injectIntl\nexport default class Search extends React.PureComponent {\n\n static propTypes = {\n value: PropTypes.string.isRequired,\n submitted: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onShow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n expanded: false,\n };\n\n handleChange = (e) => {\n this.props.onChange(e.target.value);\n }\n\n handleClear = (e) => {\n e.preventDefault();\n\n if (this.props.value.length > 0 || this.props.submitted) {\n this.props.onClear();\n }\n }\n\n handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }\n\n noop () {\n\n }\n\n handleFocus = () => {\n this.setState({ expanded: true });\n this.props.onShow();\n }\n\n handleBlur = () => {\n this.setState({ expanded: false });\n }\n\n render () {\n const { intl, value, submitted } = this.props;\n const { expanded } = this.state;\n const hasValue = value.length > 0 || submitted;\n\n return (\n
\n \n\n
\n \n \n
\n\n \n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search.js","import { connect } from 'react-redux';\nimport NavigationBar from '../components/navigation_bar';\nimport { me } from '../../../initial_state';\n\nconst mapStateToProps = state => {\n return {\n account: state.getIn(['accounts', me]),\n };\n};\n\nexport default connect(mapStateToProps)(NavigationBar);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/navigation_container.js","import { connect } from 'react-redux';\nimport {\n changeSearch,\n clearSearch,\n submitSearch,\n showSearch,\n} from '../../../actions/search';\nimport Search from '../components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeSearch(value));\n },\n\n onClear () {\n dispatch(clearSearch());\n },\n\n onSubmit () {\n dispatch(submitSearch());\n },\n\n onShow () {\n dispatch(showSearch());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Search);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_container.js","import { connect } from 'react-redux';\nimport SearchResults from '../components/search_results';\n\nconst mapStateToProps = state => ({\n results: state.getIn(['search', 'results']),\n});\n\nexport default connect(mapStateToProps)(SearchResults);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_results_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport AccountContainer from '../../../containers/account_container';\nimport StatusContainer from '../../../containers/status_container';\nimport { Link } from 'react-router-dom';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class SearchResults extends ImmutablePureComponent {\n\n static propTypes = {\n results: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { results } = this.props;\n\n let accounts, statuses, hashtags;\n let count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = (\n
\n {results.get('accounts').map(accountId => )}\n
\n );\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = (\n
\n {results.get('statuses').map(statusId => )}\n
\n );\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = (\n
\n {results.get('hashtags').map(hashtag =>\n \n #{hashtag}\n \n )}\n
\n );\n }\n\n return (\n
\n
\n \n
\n\n {accounts}\n {statuses}\n {hashtags}\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search_results.js"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///features/compose-4617f6e912b5bfa71c43.js","webpack:///./app/javascript/mastodon/containers/status_container.js","webpack:///./app/javascript/mastodon/features/compose/components/compose_form.js","webpack:///./app/javascript/mastodon/features/compose/components/character_counter.js","webpack:///./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","webpack:///./app/javascript/mastodon/features/compose/components/reply_indicator.js","webpack:///./app/javascript/mastodon/components/autosuggest_textarea.js","webpack:///./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","webpack:///./app/javascript/mastodon/features/compose/components/autosuggest_account.js","webpack:///./app/javascript/mastodon/components/autosuggest_emoji.js","webpack:///./node_modules/react-textarea-autosize/es/index.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_button_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_button.js","webpack:///./app/javascript/mastodon/components/collapsable.js","webpack:///./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js","webpack:///./app/javascript/mastodon/features/compose/components/text_icon_button.js","webpack:///./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js","webpack:///./app/javascript/mastodon/features/compose/components/privacy_dropdown.js","webpack:///./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js","webpack:///./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_form_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_form.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_progress_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload_progress.js","webpack:///./app/javascript/mastodon/features/compose/containers/upload_container.js","webpack:///./app/javascript/mastodon/features/compose/components/upload.js","webpack:///./app/javascript/mastodon/features/compose/containers/warning_container.js","webpack:///./app/javascript/mastodon/features/compose/components/warning.js","webpack:///./app/javascript/mastodon/features/compose/util/counter.js","webpack:///./app/javascript/mastodon/features/compose/util/url_regex.js","webpack:///./app/javascript/mastodon/features/compose/containers/compose_form_container.js","webpack:///./app/javascript/mastodon/features/compose/index.js","webpack:///./app/javascript/mastodon/containers/account_container.js","webpack:///./app/javascript/mastodon/components/account.js","webpack:///./app/javascript/mastodon/features/compose/components/navigation_bar.js","webpack:///./app/javascript/mastodon/features/compose/components/search.js","webpack:///./app/javascript/mastodon/features/compose/containers/navigation_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/search_container.js","webpack:///./app/javascript/mastodon/features/compose/containers/search_results_container.js","webpack:///./app/javascript/mastodon/features/compose/components/search_results.js"],"names":["webpackJsonp","261","module","__webpack_exports__","__webpack_require__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__","__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default","n","__WEBPACK_IMPORTED_MODULE_1_react__","__WEBPACK_IMPORTED_MODULE_2_react_redux__","__WEBPACK_IMPORTED_MODULE_3__components_status__","__WEBPACK_IMPORTED_MODULE_4__selectors__","__WEBPACK_IMPORTED_MODULE_5__actions_compose__","__WEBPACK_IMPORTED_MODULE_6__actions_interactions__","__WEBPACK_IMPORTED_MODULE_7__actions_accounts__","__WEBPACK_IMPORTED_MODULE_8__actions_statuses__","__WEBPACK_IMPORTED_MODULE_9__actions_reports__","__WEBPACK_IMPORTED_MODULE_10__actions_modal__","__WEBPACK_IMPORTED_MODULE_11_react_intl__","__WEBPACK_IMPORTED_MODULE_12__initial_state__","messages","Object","deleteConfirm","id","defaultMessage","deleteMessage","blockConfirm","muteConfirm","makeMapStateToProps","getStatus","state","props","status","mapDispatchToProps","dispatch","_ref","intl","onReply","router","onModalReblog","onReblog","e","get","shiftKey","this","onFavourite","onPin","onEmbed","url","onDelete","message","formatMessage","confirm","onConfirm","onMention","account","onOpenMedia","media","index","onOpenVideo","time","onBlock","values","name","onReport","onMute","onMuteConversation","286","d","ComposeForm","_class","_class2","_temp2","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_4_react__","__WEBPACK_IMPORTED_MODULE_4_react___default","__WEBPACK_IMPORTED_MODULE_5__character_counter__","__WEBPACK_IMPORTED_MODULE_6__components_button__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_8_prop_types__","__WEBPACK_IMPORTED_MODULE_8_prop_types___default","__WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__","__WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__","__WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__","__WEBPACK_IMPORTED_MODULE_12_react_intl__","__WEBPACK_IMPORTED_MODULE_13__components_collapsable__","__WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__","__WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__","__WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__","__WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__","__WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__","__WEBPACK_IMPORTED_MODULE_19__containers_warning_container__","__WEBPACK_IMPORTED_MODULE_20__is_mobile__","__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_22_stringz__","__WEBPACK_IMPORTED_MODULE_23__util_counter__","placeholder","spoiler_placeholder","publish","publishLoud","_ImmutablePureCompone","_temp","_this","_ret","_len","arguments","length","args","Array","_key","call","apply","concat","handleChange","onChange","target","value","handleKeyDown","keyCode","ctrlKey","metaKey","handleSubmit","text","autosuggestTextarea","textarea","onSubmit","onSuggestionsClearRequested","onClearSuggestions","onSuggestionsFetchRequested","token","onFetchSuggestions","onSuggestionSelected","tokenStart","_restoreCaret","handleChangeSpoilerText","onChangeSpoilerText","setAutosuggestTextarea","c","handleEmojiPick","data","position","selectionStart","emojiChar","native","onPickEmoji","prototype","componentWillReceiveProps","nextProps","is_uploading","componentDidUpdate","prevProps","focusDate","selectionEnd","preselectDate","search","setSelectionRange","focus","is_submitting","render","_props","onPaste","showSearch","disabled","spoiler_text","join","publishText","privacy","className","isVisible","spoiler","fullHeight","style","display","onKeyDown","type","a","createElement","ref","suggestions","autoFocus","window","innerWidth","max","onClick","trim","block","propTypes","object","isRequired","string","suggestion_token","list","bool","instanceOf","Date","func","defaultProps","287","CharacterCounter","__WEBPACK_IMPORTED_MODULE_5_stringz__","_React$PureComponent","checkRemainingText","diff","PureComponent","288","__WEBPACK_IMPORTED_MODULE_0_react_redux__","__WEBPACK_IMPORTED_MODULE_1__actions_compose__","__WEBPACK_IMPORTED_MODULE_2__selectors__","__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__","getIn","onCancel","289","ReplyIndicator","__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_6_prop_types__","__WEBPACK_IMPORTED_MODULE_6_prop_types___default","__WEBPACK_IMPORTED_MODULE_7__components_avatar__","__WEBPACK_IMPORTED_MODULE_8__components_icon_button__","__WEBPACK_IMPORTED_MODULE_9__components_display_name__","__WEBPACK_IMPORTED_MODULE_10_react_intl__","__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default","cancel","handleClick","handleAccountClick","button","preventDefault","context","history","push","content","__html","title","icon","href","size","dangerouslySetInnerHTML","contextTypes","map","290","AutosuggestTextarea","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__","__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__","__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__","__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__","__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default","__WEBPACK_IMPORTED_MODULE_5_react__","__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__","__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_9_prop_types__","__WEBPACK_IMPORTED_MODULE_9_prop_types___default","__WEBPACK_IMPORTED_MODULE_10__rtl__","__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__","__WEBPACK_IMPORTED_MODULE_13_classnames__","__WEBPACK_IMPORTED_MODULE_13_classnames___default","textAtCursorMatchesToken","str","caretPosition","word","left","slice","right","indexOf","toLowerCase","suggestionsHidden","selectedSuggestion","lastToken","_textAtCursorMatchesT","setState","_this$props","_this$state","key","Math","min","stopPropagation","defaultPrevented","onKeyUp","document","querySelector","parentElement","onBlur","onSuggestionClick","suggestion","currentTarget","getAttribute","setTextarea","clipboardData","files","renderSuggestion","i","inner","emoji","role","tabIndex","data-index","selected","onMouseDown","direction","inputRef","isEmpty","291","__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__","getAccount","292","AutosuggestAccount","__WEBPACK_IMPORTED_MODULE_5__components_avatar__","__WEBPACK_IMPORTED_MODULE_6__components_display_name__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default","293","process","AutosuggestEmoji","__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__","__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default","assetHost","env","CDN_HOST","custom","imageUrl","mapping","replace","filename","src","alt","colons","294","calculateNodeHeight","uiTextNode","uid","useCache","undefined","minRows","maxRows","hiddenTextarea","parentNode","body","appendChild","nodeStyling","calculateNodeStyling","paddingSize","borderSize","boxSizing","sizingStyle","keys","forEach","HIDDEN_TEXTAREA_STYLE","setProperty","minHeight","Infinity","maxHeight","height","scrollHeight","singleRowHeight","rowCount","floor","node","computedStyleCache","getComputedStyle","SIZING_STYLE","reduce","obj","getPropertyValue","isIE","width","parseFloat","nodeInfo","__WEBPACK_IMPORTED_MODULE_0_react__","__WEBPACK_IMPORTED_MODULE_0_react___default","__WEBPACK_IMPORTED_MODULE_1_prop_types__","isBrowser","documentElement","currentStyle","min-height","max-height","visibility","overflow","z-index","top","purgeCache","seed","classCallCheck","instance","Constructor","TypeError","_extends","assign","source","hasOwnProperty","inherits","subClass","superClass","create","constructor","enumerable","writable","configurable","setPrototypeOf","__proto__","objectWithoutProperties","possibleConstructorReturn","self","ReferenceError","noop","requestAnimationFrame","cancelAnimationFrame","setTimeout","clearTimeout","onNextFrame","clearNextFrameAction","TextareaAutosize","_React$Component","_resizeLock","_onRootDOMNode","_rootDOMNode","_onChange","event","_controlled","_resizeComponent","callback","nodeHeight","_uid","useCacheForDOMMeasurements","onHeightChange","componentDidMount","_this2","_resizeListener","addEventListener","_this3","_clearNextFrame","_onNextFrameActionId","prevState","componentWillUnmount","removeEventListener","Component","295","__WEBPACK_IMPORTED_MODULE_1__components_upload_button__","__WEBPACK_IMPORTED_MODULE_2__actions_compose__","mapStateToProps","some","m","resetFileKey","onSelectFile","296","UploadButton","_dec","__WEBPACK_IMPORTED_MODULE_5__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_intl__","__WEBPACK_IMPORTED_MODULE_8_react_redux__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default","upload","acceptContentTypes","iconStyle","lineHeight","fileElement","click","setRef","inverted","multiple","accept","toArray","number","listOf","297","__WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default","Collapsable","children","defaultStyle","opacity","_ref2","298","__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__","__WEBPACK_IMPORTED_MODULE_3_react_intl__","label","active","ariaControls","299","TextIconButton","aria-label","aria-expanded","aria-controls","300","__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__","__WEBPACK_IMPORTED_MODULE_3__actions_modal__","__WEBPACK_IMPORTED_MODULE_4__is_mobile__","isModalOpen","modalType","isUserTouching","onModalOpen","onModalClose","301","PrivacyDropdown","__WEBPACK_IMPORTED_MODULE_5_react_intl__","__WEBPACK_IMPORTED_MODULE_6__components_icon_button__","__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default","__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_11_classnames__","__WEBPACK_IMPORTED_MODULE_11_classnames___default","public_short","public_long","unlisted_short","unlisted_long","private_short","private_long","direct_short","direct_long","change_privacy","listenerOptions","hasSupport","passive","PrivacyDropdownMenu","handleDocumentClick","contains","onClose","items","scaleX","scaleY","damping","stiffness","transform","item","meta","_React$PureComponent2","_ret2","_len2","_key2","open","handleToggle","actions","options","option","handleModalActionClick","handleClose","componentWillMount","_props2","valueOption","find","expanded","show","placement","302","__WEBPACK_IMPORTED_MODULE_5_react_redux__","__WEBPACK_IMPORTED_MODULE_6_classnames__","__WEBPACK_IMPORTED_MODULE_6_classnames___default","__WEBPACK_IMPORTED_MODULE_7__components_icon_button__","__WEBPACK_IMPORTED_MODULE_8__actions_compose__","__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default","visible","SensitiveButton","scale","compose-form__sensitive-button--visible","303","__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__","__WEBPACK_IMPORTED_MODULE_2__actions_settings__","__WEBPACK_IMPORTED_MODULE_3_reselect__","__WEBPACK_IMPORTED_MODULE_4_immutable__","__WEBPACK_IMPORTED_MODULE_5__actions_emojis__","DEFAULTS","getFrequentlyUsedEmojis","emojiCounters","emojis","keySeq","sort","b","reverse","perLine","getCustomEmojis","filter","aShort","bShort","custom_emojis","skinTone","frequentlyUsedEmojis","onSkinTone","304","EmojiPickerDropdown","_class3","_class4","_temp4","_class5","__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__","__WEBPACK_IMPORTED_MODULE_8_classnames__","__WEBPACK_IMPORTED_MODULE_8_classnames___default","__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__","__WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default","__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__","emoji_search","emoji_not_found","recent","search_results","people","nature","food","activity","travel","objects","symbols","flags","EmojiPicker","Emoji","backgroundImageFn","categoriesSort","ModifierPickerMenu","onSelect","attachListeners","removeListeners","set","sheetSize","skin","ModifierPicker","onOpen","handleSelect","modifier","EmojiPickerMenu","_React$PureComponent3","_temp3","_ret3","_len3","_key3","modifierOpen","getI18n","notfound","categories","foods","places","onPick","handleModifierOpen","handleModifierClose","handleModifierChange","loading","selecting","emojiSize","color","i18n","include","showPreview","emojiTooltip","_React$PureComponent4","_temp5","_this4","_ret4","_len4","_key4","dropdown","onShowDropdown","then","EmojiMart","Picker","catch","onHideDropdown","onToggle","setTargetRef","findTarget","_props3","_state","pulse-loading","305","__WEBPACK_IMPORTED_MODULE_1__components_upload_form__","mediaIds","306","UploadForm","__WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_8__containers_upload_container__","307","__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__","progress","308","UploadProgress","__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default","309","__WEBPACK_IMPORTED_MODULE_1__components_upload__","onUndo","onDescriptionChange","description","310","Upload","__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_12_classnames__","__WEBPACK_IMPORTED_MODULE_12_classnames___default","undo","hovered","focused","dirtyDescription","handleUndoClick","handleInputChange","handleMouseEnter","handleMouseLeave","handleInputFocus","handleInputBlur","onMouseEnter","onMouseLeave","backgroundImage","maxLength","onFocus","311","__WEBPACK_IMPORTED_MODULE_3__components_warning__","__WEBPACK_IMPORTED_MODULE_4_react_intl__","__WEBPACK_IMPORTED_MODULE_5__initial_state__","needsLockWarning","WarningWrapper","locked","312","Warning","313","countableText","inputText","__WEBPACK_IMPORTED_MODULE_0__url_regex__","urlPlaceholder","314","urlRegex","regexen","regexSupplant","regex","global","ignoreCase","multiline","RegExp","match","newRegex","stringSupplant","spaces_group","invalid_chars_group","punct","validUrlPrecedingChars","invalidDomainChars","validDomainChars","validSubdomain","validDomainName","validGTLD","validCCTLD","validPunycode","validSpecialCCTLD","validDomain","validPortNumber","pd","validGeneralUrlPathChars","validUrlBalancedParens","validUrlPathEndingChars","validUrlPath","validUrlQueryChars","validUrlQueryEndingChars","validUrl","315","__WEBPACK_IMPORTED_MODULE_1__components_compose_form__","accountId","checked","752","defineProperty","Compose","__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__","__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__","__WEBPACK_IMPORTED_MODULE_7_react_redux__","__WEBPACK_IMPORTED_MODULE_9_react_router_dom__","__WEBPACK_IMPORTED_MODULE_11__containers_search_container__","__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default","__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__","start","home_timeline","notifications","public","community","preferences","logout","columns","multiColumn","header","to","column","data-method","x","777","__WEBPACK_IMPORTED_MODULE_5__components_account__","__WEBPACK_IMPORTED_MODULE_6__actions_accounts__","__WEBPACK_IMPORTED_MODULE_7__actions_modal__","__WEBPACK_IMPORTED_MODULE_8__initial_state__","unfollowConfirm","onFollow","778","Account","__WEBPACK_IMPORTED_MODULE_7__avatar__","__WEBPACK_IMPORTED_MODULE_8__display_name__","__WEBPACK_IMPORTED_MODULE_9__permalink__","__WEBPACK_IMPORTED_MODULE_10__icon_button__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__","__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default","__WEBPACK_IMPORTED_MODULE_13__initial_state__","follow","unfollow","requested","unblock","unmute","handleFollow","handleBlock","handleMute","hidden","buttons","following","blocking","muting","802","NavigationBar","__WEBPACK_IMPORTED_MODULE_5_prop_types__","__WEBPACK_IMPORTED_MODULE_5_prop_types___default","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__","__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default","__WEBPACK_IMPORTED_MODULE_9__components_permalink__","803","Search","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__","__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default","__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__","__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__","__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default","SearchPopout","handleClear","submitted","onClear","handleFocus","onShow","handleBlur","hasValue","879","__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__","__WEBPACK_IMPORTED_MODULE_2__initial_state__","880","__WEBPACK_IMPORTED_MODULE_1__actions_search__","__WEBPACK_IMPORTED_MODULE_2__components_search__","881","__WEBPACK_IMPORTED_MODULE_1__components_search_results__","results","882","SearchResults","__WEBPACK_IMPORTED_MODULE_6_react_intl__","__WEBPACK_IMPORTED_MODULE_7__containers_account_container__","__WEBPACK_IMPORTED_MODULE_8__containers_status_container__","accounts","statuses","hashtags","count","statusId","hashtag"],"mappings":"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","file":"features/compose-4617f6e912b5bfa71c43.js","sourcesContent":["webpackJsonp([2],{\n\n/***/ 261:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_status__ = __webpack_require__(153);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_interactions__ = __webpack_require__(43);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_statuses__ = __webpack_require__(57);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__actions_reports__ = __webpack_require__(151);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n deleteConfirm: {\n 'id': 'confirmations.delete.confirm',\n 'defaultMessage': 'Delete'\n },\n deleteMessage: {\n 'id': 'confirmations.delete.message',\n 'defaultMessage': 'Are you sure you want to delete this status?'\n },\n blockConfirm: {\n 'id': 'confirmations.block.confirm',\n 'defaultMessage': 'Block'\n },\n muteConfirm: {\n 'id': 'confirmations.mute.confirm',\n 'defaultMessage': 'Mute'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"e\" /* makeGetStatus */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n status: getStatus(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onReply: function onReply(status, router) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"O\" /* replyCompose */])(status, router));\n },\n onModalReblog: function onModalReblog(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"q\" /* reblog */])(status));\n },\n onReblog: function onReblog(status, e) {\n if (status.get('reblogged')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"t\" /* unreblog */])(status));\n } else {\n if (e.shiftKey || !__WEBPACK_IMPORTED_MODULE_12__initial_state__[\"b\" /* boostModal */]) {\n this.onModalReblog(status);\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('BOOST', { status: status, onReblog: this.onModalReblog }));\n }\n }\n },\n onFavourite: function onFavourite(status) {\n if (status.get('favourited')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"r\" /* unfavourite */])(status));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"m\" /* favourite */])(status));\n }\n },\n onPin: function onPin(status) {\n if (status.get('pinned')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"s\" /* unpin */])(status));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_interactions__[\"p\" /* pin */])(status));\n }\n },\n onEmbed: function onEmbed(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('EMBED', { url: status.get('url') }));\n },\n onDelete: function onDelete(status) {\n if (!__WEBPACK_IMPORTED_MODULE_12__initial_state__[\"d\" /* deleteModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"e\" /* deleteStatus */])(status.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"e\" /* deleteStatus */])(status.get('id')));\n }\n }));\n }\n },\n onMention: function onMention(account, router) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_compose__[\"M\" /* mentionCompose */])(account, router));\n },\n onOpenMedia: function onOpenMedia(media, index) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('MEDIA', { media: media, index: index }));\n },\n onOpenVideo: function onOpenVideo(media, time) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('VIDEO', { media: media, time: time }));\n },\n onBlock: function onBlock(account) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.block.message',\n defaultMessage: 'Are you sure you want to block {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n }));\n },\n onReport: function onReport(status) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_9__actions_reports__[\"i\" /* initReport */])(status.get('account'), status));\n },\n onMute: function onMute(account) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_10__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.mute.message',\n defaultMessage: 'Are you sure you want to mute {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }));\n },\n onMuteConversation: function onMuteConversation(status) {\n if (status.get('muted')) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"h\" /* unmuteStatus */])(status.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_statuses__[\"g\" /* muteStatus */])(status.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_status__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 286:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ComposeForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__character_counter__ = __webpack_require__(287);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_button__ = __webpack_require__(101);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__ = __webpack_require__(288);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__ = __webpack_require__(290);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__ = __webpack_require__(295);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__components_collapsable__ = __webpack_require__(297);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__ = __webpack_require__(298);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__ = __webpack_require__(300);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__ = __webpack_require__(302);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__ = __webpack_require__(303);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__ = __webpack_require__(305);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_19__containers_warning_container__ = __webpack_require__(311);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_20__is_mobile__ = __webpack_require__(33);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_stringz__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_22_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_22_stringz__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_23__util_counter__ = __webpack_require__(313);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"f\" /* defineMessages */])({\n placeholder: {\n 'id': 'compose_form.placeholder',\n 'defaultMessage': 'What is on your mind?'\n },\n spoiler_placeholder: {\n 'id': 'compose_form.spoiler_placeholder',\n 'defaultMessage': 'Write your warning here'\n },\n publish: {\n 'id': 'compose_form.publish',\n 'defaultMessage': 'Toot'\n },\n publishLoud: {\n 'id': 'compose_form.publish_loud',\n 'defaultMessage': '{publish}!'\n }\n});\n\nvar ComposeForm = Object(__WEBPACK_IMPORTED_MODULE_12_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ComposeForm, _ImmutablePureCompone);\n\n function ComposeForm() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ComposeForm);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n _this.props.onChange(e.target.value);\n }, _this.handleKeyDown = function (e) {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n _this.handleSubmit();\n }\n }, _this.handleSubmit = function () {\n if (_this.props.text !== _this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n _this.props.onChange(_this.autosuggestTextarea.textarea.value);\n }\n\n _this.props.onSubmit();\n }, _this.onSuggestionsClearRequested = function () {\n _this.props.onClearSuggestions();\n }, _this.onSuggestionsFetchRequested = function (token) {\n _this.props.onFetchSuggestions(token);\n }, _this.onSuggestionSelected = function (tokenStart, token, value) {\n _this._restoreCaret = null;\n _this.props.onSuggestionSelected(tokenStart, token, value);\n }, _this.handleChangeSpoilerText = function (e) {\n _this.props.onChangeSpoilerText(e.target.value);\n }, _this.setAutosuggestTextarea = function (c) {\n _this.autosuggestTextarea = c;\n }, _this.handleEmojiPick = function (data) {\n var position = _this.autosuggestTextarea.textarea.selectionStart;\n var emojiChar = data.native;\n _this._restoreCaret = position + emojiChar.length + 1;\n _this.props.onPickEmoji(position, data);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ComposeForm.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\n };\n\n ComposeForm.prototype.componentDidUpdate = function componentDidUpdate(prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n // - If we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number') {\n var selectionEnd = void 0,\n selectionStart = void 0;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if (prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n }\n };\n\n ComposeForm.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n onPaste = _props.onPaste,\n showSearch = _props.showSearch;\n\n var disabled = this.props.is_submitting;\n var text = [this.props.spoiler_text, Object(__WEBPACK_IMPORTED_MODULE_23__util_counter__[\"a\" /* countableText */])(this.props.text)].join('');\n\n var publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'compose-form__publish-private'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-lock'\n }), ' ', intl.formatMessage(messages.publish));\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_13__components_collapsable__[\"a\" /* default */], {\n isVisible: this.props.spoiler,\n fullHeight: 50\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'spoiler-input'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.spoiler_placeholder)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n placeholder: intl.formatMessage(messages.spoiler_placeholder),\n value: this.props.spoiler_text,\n onChange: this.handleChangeSpoilerText,\n onKeyDown: this.handleKeyDown,\n type: 'text',\n className: 'spoiler-input__input',\n id: 'cw-spoiler-input'\n })))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_19__containers_warning_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__containers_reply_indicator_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__autosuggest-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_10__components_autosuggest_textarea__[\"a\" /* default */], {\n ref: this.setAutosuggestTextarea,\n placeholder: intl.formatMessage(messages.placeholder),\n disabled: disabled,\n value: this.props.text,\n onChange: this.handleChange,\n suggestions: this.props.suggestions,\n onKeyDown: this.handleKeyDown,\n onSuggestionsFetchRequested: this.onSuggestionsFetchRequested,\n onSuggestionsClearRequested: this.onSuggestionsClearRequested,\n onSuggestionSelected: this.onSuggestionSelected,\n onPaste: onPaste,\n autoFocus: !showSearch && !Object(__WEBPACK_IMPORTED_MODULE_20__is_mobile__[\"b\" /* isMobile */])(window.innerWidth)\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_17__containers_emoji_picker_dropdown_container__[\"a\" /* default */], {\n onPickEmoji: this.handleEmojiPick\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__modifiers'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_18__containers_upload_form_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__buttons-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__buttons'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_upload_button_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_15__containers_privacy_dropdown_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_16__containers_sensitive_button_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_spoiler_button_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__publish'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'character-counter__wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__character_counter__[\"a\" /* default */], {\n max: 5000,\n text: text\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__publish-button-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_button__[\"a\" /* default */], {\n text: publishText,\n onClick: this.handleSubmit,\n disabled: disabled || this.props.is_uploading || Object(__WEBPACK_IMPORTED_MODULE_22_stringz__[\"length\"])(text) > 500 || text.length !== 0 && text.trim().length === 0,\n block: true\n })))));\n };\n\n return ComposeForm;\n}(__WEBPACK_IMPORTED_MODULE_21_react_immutable_pure_component___default.a), _class2.propTypes = {\n intl: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.object.isRequired,\n text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string.isRequired,\n suggestion_token: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n suggestions: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.list,\n spoiler: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n privacy: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n spoiler_text: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.string,\n focusDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n preselectDate: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.instanceOf(Date),\n is_submitting: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n is_uploading: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool,\n onChange: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onSubmit: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onClearSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onFetchSuggestions: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onChangeSpoilerText: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onPaste: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n onPickEmoji: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.func.isRequired,\n showSearch: __WEBPACK_IMPORTED_MODULE_8_prop_types___default.a.bool\n}, _class2.defaultProps = {\n showSearch: false\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 287:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return CharacterCounter; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz__ = __webpack_require__(100);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_stringz___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_stringz__);\n\n\n\n\n\n\n\n\nvar CharacterCounter = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(CharacterCounter, _React$PureComponent);\n\n function CharacterCounter() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, CharacterCounter);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n CharacterCounter.prototype.checkRemainingText = function checkRemainingText(diff) {\n if (diff < 0) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'character-counter character-counter--over'\n }, void 0, diff);\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n className: 'character-counter'\n }, void 0, diff);\n };\n\n CharacterCounter.prototype.render = function render() {\n var diff = this.props.max - Object(__WEBPACK_IMPORTED_MODULE_5_stringz__[\"length\"])(this.props.text);\n return this.checkRemainingText(diff);\n };\n\n return CharacterCounter;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 288:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__ = __webpack_require__(289);\n\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getStatus = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"e\" /* makeGetStatus */])();\n\n var mapStateToProps = function mapStateToProps(state) {\n return {\n status: getStatus(state, state.getIn(['compose', 'in_reply_to']))\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onCancel: function onCancel() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_compose__[\"B\" /* cancelReplyCompose */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_3__components_reply_indicator__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 289:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return ReplyIndicator; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n cancel: {\n 'id': 'reply_indicator.cancel',\n 'defaultMessage': 'Cancel'\n }\n});\n\nvar ReplyIndicator = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ReplyIndicator, _ImmutablePureCompone);\n\n function ReplyIndicator() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ReplyIndicator);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleClick = function () {\n _this.props.onCancel();\n }, _this.handleAccountClick = function (e) {\n if (e.button === 0) {\n e.preventDefault();\n _this.context.router.history.push('/accounts/' + _this.props.status.getIn(['account', 'id']));\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ReplyIndicator.prototype.render = function render() {\n var _props = this.props,\n status = _props.status,\n intl = _props.intl;\n\n\n if (!status) {\n return null;\n }\n\n var content = { __html: status.get('contentHtml') };\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__cancel'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n title: intl.formatMessage(messages.cancel),\n icon: 'times',\n onClick: this.handleClick\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: status.getIn(['account', 'url']),\n onClick: this.handleAccountClick,\n className: 'reply-indicator__display-name'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__display-avatar'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n account: status.get('account'),\n size: 24\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_display_name__[\"a\" /* default */], {\n account: status.get('account')\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'reply-indicator__content',\n dangerouslySetInnerHTML: content\n }));\n };\n\n return ReplyIndicator;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class2.contextTypes = {\n router: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object\n}, _class2.propTypes = {\n status: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map,\n onCancel: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 290:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestTextarea; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__ = __webpack_require__(35);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__ = __webpack_require__(291);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__ = __webpack_require__(293);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__rtl__ = __webpack_require__(161);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__ = __webpack_require__(294);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_classnames__);\n\n\n\n\n\n\nvar _class, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar textAtCursorMatchesToken = function textAtCursorMatchesToken(str, caretPosition) {\n var word = void 0;\n\n var left = str.slice(0, caretPosition).search(/\\S+$/);\n var right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nvar AutosuggestTextarea = (_temp2 = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_4_babel_runtime_helpers_inherits___default()(AutosuggestTextarea, _ImmutablePureCompone);\n\n function AutosuggestTextarea() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestTextarea);\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 = __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0\n }, _this.onChange = function (e) {\n var _textAtCursorMatchesT = textAtCursorMatchesToken(e.target.value, e.target.selectionStart),\n tokenStart = _textAtCursorMatchesT[0],\n token = _textAtCursorMatchesT[1];\n\n if (token !== null && _this.state.lastToken !== token) {\n _this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart: tokenStart });\n _this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n _this.setState({ lastToken: null });\n _this.props.onSuggestionsClearRequested();\n }\n\n _this.props.onChange(e);\n }, _this.onKeyDown = function (e) {\n var _this$props = _this.props,\n suggestions = _this$props.suggestions,\n disabled = _this$props.disabled;\n var _this$state = _this.state,\n selectedSuggestion = _this$state.selectedSuggestion,\n suggestionsHidden = _this$state.suggestionsHidden;\n\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch (e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n _this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n _this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (_this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !_this.props.onKeyDown) {\n return;\n }\n\n _this.props.onKeyDown(e);\n }, _this.onKeyUp = function (e) {\n if (e.key === 'Escape' && _this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (_this.props.onKeyUp) {\n _this.props.onKeyUp(e);\n }\n }, _this.onBlur = function () {\n _this.setState({ suggestionsHidden: true });\n }, _this.onSuggestionClick = function (e) {\n var suggestion = _this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n _this.props.onSuggestionSelected(_this.state.tokenStart, _this.state.lastToken, suggestion);\n _this.textarea.focus();\n }, _this.setTextarea = function (c) {\n _this.textarea = c;\n }, _this.onPaste = function (e) {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n _this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }, _this.renderSuggestion = function (suggestion, i) {\n var selectedSuggestion = _this.state.selectedSuggestion;\n\n var inner = void 0,\n key = void 0;\n\n if ((typeof suggestion === 'undefined' ? 'undefined' : __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_typeof___default()(suggestion)) === 'object') {\n inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__autosuggest_emoji__[\"a\" /* default */], {\n emoji: suggestion\n });\n key = suggestion.id;\n } else {\n inner = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__features_compose_containers_autosuggest_account_container__[\"a\" /* default */], {\n id: suggestion\n });\n key = suggestion;\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': i,\n className: __WEBPACK_IMPORTED_MODULE_13_classnames___default()('autosuggest-textarea__suggestions__item', { selected: i === selectedSuggestion }),\n onMouseDown: _this.onSuggestionClick\n }, key, inner);\n }, _temp), __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n AutosuggestTextarea.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n };\n\n AutosuggestTextarea.prototype.render = function render() {\n var _props = this.props,\n value = _props.value,\n suggestions = _props.suggestions,\n disabled = _props.disabled,\n placeholder = _props.placeholder,\n autoFocus = _props.autoFocus;\n var suggestionsHidden = this.state.suggestionsHidden;\n\n var style = { direction: 'ltr' };\n\n if (Object(__WEBPACK_IMPORTED_MODULE_10__rtl__[\"a\" /* isRtl */])(value)) {\n style.direction = 'rtl';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-textarea'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, placeholder), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12_react_textarea_autosize__[\"a\" /* default */], {\n inputRef: this.setTextarea,\n className: 'autosuggest-textarea__textarea',\n disabled: disabled,\n placeholder: placeholder,\n autoFocus: autoFocus,\n value: value,\n onChange: this.onChange,\n onKeyDown: this.onKeyDown,\n onKeyUp: this.onKeyUp,\n onBlur: this.onBlur,\n onPaste: this.onPaste,\n style: style\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-textarea__suggestions ' + (suggestionsHidden || suggestions.isEmpty() ? '' : 'autosuggest-textarea__suggestions--visible')\n }, void 0, suggestions.map(this.renderSuggestion)));\n };\n\n return AutosuggestTextarea;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n value: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n suggestions: __WEBPACK_IMPORTED_MODULE_8_react_immutable_proptypes___default.a.list,\n disabled: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool,\n placeholder: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.string,\n onSuggestionSelected: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onSuggestionsClearRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onSuggestionsFetchRequested: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onChange: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n onKeyUp: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n onKeyDown: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func,\n onPaste: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.func.isRequired,\n autoFocus: __WEBPACK_IMPORTED_MODULE_9_prop_types___default.a.bool\n}, _class.defaultProps = {\n autoFocus: true\n}, _temp2);\n\n\n/***/ }),\n\n/***/ 291:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__ = __webpack_require__(292);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__selectors__ = __webpack_require__(69);\n\n\n\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = Object(__WEBPACK_IMPORTED_MODULE_2__selectors__[\"c\" /* makeGetAccount */])();\n\n var mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n account: getAccount(state, id)\n };\n };\n\n return mapStateToProps;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(makeMapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_autosuggest_account__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 292:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestAccount; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar AutosuggestAccount = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestAccount, _ImmutablePureCompone);\n\n function AutosuggestAccount() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestAccount);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n AutosuggestAccount.prototype.render = function render() {\n var account = this.props.account;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-account-icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_avatar__[\"a\" /* default */], {\n account: account,\n size: 18\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_display_name__[\"a\" /* default */], {\n account: account\n }));\n };\n\n return AutosuggestAccount;\n}(__WEBPACK_IMPORTED_MODULE_8_react_immutable_pure_component___default.a), _class.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_7_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 293:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return AutosuggestEmoji; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__ = __webpack_require__(160);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light__);\n\n\n\n\n\n\n\n\nvar assetHost = process.env.CDN_HOST || '';\n\nvar AutosuggestEmoji = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(AutosuggestEmoji, _React$PureComponent);\n\n function AutosuggestEmoji() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, AutosuggestEmoji);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n AutosuggestEmoji.prototype.render = function render() {\n var emoji = this.props.emoji;\n\n var url = void 0;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n var mapping = __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native] || __WEBPACK_IMPORTED_MODULE_5__features_emoji_emoji_unicode_mapping_light___default.a[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = assetHost + '/emoji/' + mapping.filename + '.svg';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'autosuggest-emoji'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n className: 'emojione',\n src: url,\n alt: emoji.native || emoji.colons\n }), emoji.colons);\n };\n\n return AutosuggestEmoji;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(34)))\n\n/***/ }),\n\n/***/ 294:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);\n\n\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);\n\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (TextareaAutosize);\n\n/***/ }),\n\n/***/ 295:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_button__ = __webpack_require__(296);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n disabled: state.getIn(['compose', 'is_uploading']) || state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(function (m) {\n return m.get('type') === 'video';\n }),\n resetFileKey: state.getIn(['compose', 'resetFileKey'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onSelectFile: function onSelectFile(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"U\" /* uploadCompose */])(files));\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_button__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 296:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes__);\n\n\n\n\n\nvar _dec, _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"f\" /* defineMessages */])({\n upload: {\n 'id': 'upload_button.label',\n 'defaultMessage': 'Add media'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var mapStateToProps = function mapStateToProps(state) {\n return {\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types'])\n };\n };\n\n return mapStateToProps;\n};\n\nvar iconStyle = {\n height: null,\n lineHeight: '27px'\n};\n\nvar UploadButton = (_dec = Object(__WEBPACK_IMPORTED_MODULE_8_react_redux__[\"connect\"])(makeMapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadButton, _ImmutablePureCompone);\n\n function UploadButton() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadButton);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleChange = function (e) {\n if (e.target.files.length > 0) {\n _this.props.onSelectFile(e.target.files);\n }\n }, _this.handleClick = function () {\n _this.fileElement.click();\n }, _this.setRef = function (c) {\n _this.fileElement = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n UploadButton.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n resetFileKey = _props.resetFileKey,\n disabled = _props.disabled,\n acceptContentTypes = _props.acceptContentTypes;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-button'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__components_icon_button__[\"a\" /* default */], {\n icon: 'camera',\n title: intl.formatMessage(messages.upload),\n disabled: disabled,\n onClick: this.handleClick,\n className: 'compose-form__upload-button-icon',\n size: 18,\n inverted: true,\n style: iconStyle\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.upload)), __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement('input', {\n key: resetFileKey,\n ref: this.setRef,\n type: 'file',\n multiple: false,\n accept: acceptContentTypes.toArray().join(','),\n onChange: this.handleChange,\n disabled: disabled,\n style: { display: 'none' }\n })));\n };\n\n return UploadButton;\n}(__WEBPACK_IMPORTED_MODULE_9_react_immutable_pure_component___default.a), _class2.propTypes = {\n disabled: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool,\n onSelectFile: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n style: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object,\n resetFileKey: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.number,\n acceptContentTypes: __WEBPACK_IMPORTED_MODULE_10_react_immutable_proptypes___default.a.listOf(__WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.string).isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired\n}, _temp2)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 297:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring__);\n\n\n\n\n\n\nvar Collapsable = function Collapsable(_ref) {\n var fullHeight = _ref.fullHeight,\n isVisible = _ref.isVisible,\n children = _ref.children;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_2__features_ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: !isVisible ? 0 : 100, height: isVisible ? fullHeight : 0 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default()(!isVisible ? 0 : 100), height: __WEBPACK_IMPORTED_MODULE_3_react_motion_lib_spring___default()(!isVisible ? 0 : fullHeight) }\n }, void 0, function (_ref2) {\n var opacity = _ref2.opacity,\n height = _ref2.height;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: { height: height + 'px', overflow: 'hidden', opacity: opacity / 100, display: Math.floor(opacity) === 0 ? 'none' : 'block' }\n }, void 0, children);\n });\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Collapsable);\n\n/***/ }),\n\n/***/ 298:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__ = __webpack_require__(299);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(6);\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'compose_form.spoiler',\n 'defaultMessage': 'Hide text behind warning'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var intl = _ref.intl;\n return {\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input'\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"F\" /* changeComposeSpoilerness */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_text_icon_button__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 299:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return TextIconButton; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n\n\n\n\n\n\nvar TextIconButton = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(TextIconButton, _React$PureComponent);\n\n function TextIconButton() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, TextIconButton);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n e.preventDefault();\n _this.props.onClick();\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n TextIconButton.prototype.render = function render() {\n var _props = this.props,\n label = _props.label,\n title = _props.title,\n active = _props.active,\n ariaControls = _props.ariaControls;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n title: title,\n 'aria-label': title,\n className: 'text-icon-button ' + (active ? 'active' : ''),\n 'aria-expanded': active,\n onClick: this.handleClick,\n 'aria-controls': ariaControls\n }, void 0, label);\n };\n\n return TextIconButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 300:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__ = __webpack_require__(301);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__is_mobile__ = __webpack_require__(33);\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"G\" /* changeComposeVisibility */])(value));\n },\n\n\n isUserTouching: __WEBPACK_IMPORTED_MODULE_4__is_mobile__[\"c\" /* isUserTouching */],\n onModalOpen: function onModalOpen(props) {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"d\" /* openModal */])('ACTIONS', props));\n },\n onModalClose: function onModalClose() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_3__actions_modal__[\"c\" /* closeModal */])());\n }\n\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_privacy_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 301:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return PrivacyDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_classnames__);\n\n\n\n\n\nvar _class2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n public_short: {\n 'id': 'privacy.public.short',\n 'defaultMessage': 'Public'\n },\n public_long: {\n 'id': 'privacy.public.long',\n 'defaultMessage': 'Post to public timelines'\n },\n unlisted_short: {\n 'id': 'privacy.unlisted.short',\n 'defaultMessage': 'Unlisted'\n },\n unlisted_long: {\n 'id': 'privacy.unlisted.long',\n 'defaultMessage': 'Do not show in public timelines'\n },\n private_short: {\n 'id': 'privacy.private.short',\n 'defaultMessage': 'Followers-only'\n },\n private_long: {\n 'id': 'privacy.private.long',\n 'defaultMessage': 'Post to followers only'\n },\n direct_short: {\n 'id': 'privacy.direct.short',\n 'defaultMessage': 'Direct'\n },\n direct_long: {\n 'id': 'privacy.direct.long',\n 'defaultMessage': 'Post to mentioned users only'\n },\n change_privacy: {\n 'id': 'privacy.change',\n 'defaultMessage': 'Adjust status privacy'\n }\n});\n\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_10_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar PrivacyDropdownMenu = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdownMenu, _React$PureComponent);\n\n function PrivacyDropdownMenu() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdownMenu);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.handleClick = function (e) {\n if (e.key === 'Escape') {\n _this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n var value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n _this.props.onClose();\n _this.props.onChange(value);\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n PrivacyDropdownMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n PrivacyDropdownMenu.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n style = _props.style,\n items = _props.items,\n value = _props.value;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'privacy-dropdown__dropdown', style: Object.assign({}, style, { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }), ref: _this2.setRef },\n items.map(function (item) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n 'data-index': item.value,\n onKeyDown: _this2.handleClick,\n onClick: _this2.handleClick,\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__option', { active: item.value === value })\n }, item.value, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'privacy-dropdown__option__icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-fw fa-' + item.icon\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'privacy-dropdown__option__content'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, item.text), item.meta));\n })\n );\n });\n };\n\n return PrivacyDropdownMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar PrivacyDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class2 = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(PrivacyDropdown, _React$PureComponent2);\n\n function PrivacyDropdown() {\n var _temp2, _this3, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, PrivacyDropdown);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this3), _this3.state = {\n open: false\n }, _this3.handleToggle = function () {\n if (_this3.props.isUserTouching()) {\n if (_this3.state.open) {\n _this3.props.onModalClose();\n } else {\n _this3.props.onModalOpen({\n actions: _this3.options.map(function (option) {\n return Object.assign({}, option, { active: option.value === _this3.props.value });\n }),\n onClick: _this3.handleModalActionClick\n });\n }\n } else {\n _this3.setState({ open: !_this3.state.open });\n }\n }, _this3.handleModalActionClick = function (e) {\n e.preventDefault();\n\n var value = _this3.options[e.currentTarget.getAttribute('data-index')].value;\n\n _this3.props.onModalClose();\n _this3.props.onChange(value);\n }, _this3.handleKeyDown = function (e) {\n switch (e.key) {\n case 'Enter':\n _this3.handleToggle();\n break;\n case 'Escape':\n _this3.handleClose();\n break;\n }\n }, _this3.handleClose = function () {\n _this3.setState({ open: false });\n }, _this3.handleChange = function (value) {\n _this3.props.onChange(value);\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret2);\n }\n\n PrivacyDropdown.prototype.componentWillMount = function componentWillMount() {\n var formatMessage = this.props.intl.formatMessage;\n\n\n this.options = [{ icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) }, { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) }, { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) }, { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) }];\n };\n\n PrivacyDropdown.prototype.render = function render() {\n var _props2 = this.props,\n value = _props2.value,\n intl = _props2.intl;\n var open = this.state.open;\n\n\n var valueOption = this.options.find(function (item) {\n return item.value === value;\n });\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown', { active: open }),\n onKeyDown: this.handleKeyDown\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_11_classnames___default()('privacy-dropdown__value', { active: this.options.indexOf(valueOption) === 0 })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__components_icon_button__[\"a\" /* default */], {\n className: 'privacy-dropdown__value-icon',\n icon: valueOption.icon,\n title: intl.formatMessage(messages.change_privacy),\n size: 18,\n expanded: open,\n active: open,\n inverted: true,\n onClick: this.handleToggle,\n style: { height: null, lineHeight: '27px' }\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n show: open,\n placement: 'bottom',\n target: this\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(PrivacyDropdownMenu, {\n items: this.options,\n value: value,\n onClose: this.handleClose,\n onChange: this.handleChange\n })));\n };\n\n return PrivacyDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class2;\n\n\n\n/***/ }),\n\n/***/ 302:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n title: {\n 'id': 'compose_form.sensitive',\n 'defaultMessage': 'Mark media as sensitive'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onClick: function onClick() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"D\" /* changeComposeSensitivity */])());\n }\n };\n};\n\nvar SensitiveButton = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SensitiveButton, _React$PureComponent);\n\n function SensitiveButton() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SensitiveButton);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n SensitiveButton.prototype.render = function render() {\n var _props = this.props,\n visible = _props.visible,\n active = _props.active,\n disabled = _props.disabled,\n onClick = _props.onClick,\n intl = _props.intl;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.87 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_10_react_motion_lib_spring___default()(visible ? 1 : 0.87, { stiffness: 200, damping: 3 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n\n var icon = active ? 'eye-slash' : 'eye';\n var className = __WEBPACK_IMPORTED_MODULE_6_classnames___default()('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible\n });\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: className,\n style: { transform: 'scale(' + scale + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n className: 'compose-form__sensitive-button__icon',\n title: intl.formatMessage(messages.title),\n icon: icon,\n onClick: onClick,\n size: 18,\n active: active,\n disabled: disabled,\n style: { lineHeight: null, height: null },\n inverted: true\n }));\n });\n };\n\n return SensitiveButton;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_5_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(SensitiveButton)));\n\n/***/ }),\n\n/***/ 303:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__ = __webpack_require__(304);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_settings__ = __webpack_require__(59);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect__ = __webpack_require__(96);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_reselect___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_reselect__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable__ = __webpack_require__(8);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_immutable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_immutable__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__actions_emojis__ = __webpack_require__(102);\n\n\n\n\n\n\n\nvar perLine = 8;\nvar lines = 2;\n\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'yum', 'disappointed', 'thinking_face', 'weary', 'sob', 'sunglasses', 'heart', 'ok_hand'];\n\nvar getFrequentlyUsedEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n return state.getIn(['settings', 'frequentlyUsedEmojis'], Object(__WEBPACK_IMPORTED_MODULE_4_immutable__[\"Map\"])());\n}], function (emojiCounters) {\n var emojis = emojiCounters.keySeq().sort(function (a, b) {\n return emojiCounters.get(a) - emojiCounters.get(b);\n }).reverse().slice(0, perLine * lines).toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nvar getCustomEmojis = Object(__WEBPACK_IMPORTED_MODULE_3_reselect__[\"createSelector\"])([function (state) {\n return state.get('custom_emojis');\n}], function (emojis) {\n return emojis.filter(function (e) {\n return e.get('visible_in_picker');\n }).sort(function (a, b) {\n var aShort = a.get('shortcode').toLowerCase();\n var bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort) {\n return 1;\n } else {\n return 0;\n }\n });\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state)\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var _onPickEmoji = _ref.onPickEmoji;\n return {\n onSkinTone: function onSkinTone(skinTone) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_settings__[\"c\" /* changeSetting */])(['skinTone'], skinTone));\n },\n\n onPickEmoji: function onPickEmoji(emoji) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_5__actions_emojis__[\"b\" /* useEmoji */])(emoji));\n\n if (_onPickEmoji) {\n _onPickEmoji(emoji);\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_emoji_picker_dropdown__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 304:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* WEBPACK VAR INJECTION */(function(process) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return EmojiPickerDropdown; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__ = __webpack_require__(61);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_classnames__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events__ = __webpack_require__(46);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_detect_passive_events__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__emoji_emoji__ = __webpack_require__(60);\n\n\n\n\n\nvar _class3, _class4, _temp4, _class5;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n emoji: {\n 'id': 'emoji_button.label',\n 'defaultMessage': 'Insert emoji'\n },\n emoji_search: {\n 'id': 'emoji_button.search',\n 'defaultMessage': 'Search...'\n },\n emoji_not_found: {\n 'id': 'emoji_button.not_found',\n 'defaultMessage': 'No emojos!! (\\u256F\\xB0\\u25A1\\xB0\\uFF09\\u256F\\uFE35 \\u253B\\u2501\\u253B'\n },\n custom: {\n 'id': 'emoji_button.custom',\n 'defaultMessage': 'Custom'\n },\n recent: {\n 'id': 'emoji_button.recent',\n 'defaultMessage': 'Frequently used'\n },\n search_results: {\n 'id': 'emoji_button.search_results',\n 'defaultMessage': 'Search results'\n },\n people: {\n 'id': 'emoji_button.people',\n 'defaultMessage': 'People'\n },\n nature: {\n 'id': 'emoji_button.nature',\n 'defaultMessage': 'Nature'\n },\n food: {\n 'id': 'emoji_button.food',\n 'defaultMessage': 'Food & Drink'\n },\n activity: {\n 'id': 'emoji_button.activity',\n 'defaultMessage': 'Activity'\n },\n travel: {\n 'id': 'emoji_button.travel',\n 'defaultMessage': 'Travel & Places'\n },\n objects: {\n 'id': 'emoji_button.objects',\n 'defaultMessage': 'Objects'\n },\n symbols: {\n 'id': 'emoji_button.symbols',\n 'defaultMessage': 'Symbols'\n },\n flags: {\n 'id': 'emoji_button.flags',\n 'defaultMessage': 'Flags'\n }\n});\n\nvar assetHost = process.env.CDN_HOST || '';\nvar EmojiPicker = void 0,\n Emoji = void 0; // load asynchronously\n\nvar backgroundImageFn = function backgroundImageFn() {\n return assetHost + '/emoji/sheet.png';\n};\nvar listenerOptions = __WEBPACK_IMPORTED_MODULE_9_detect_passive_events___default.a.hasSupport ? { passive: true } : false;\n\nvar categoriesSort = ['recent', 'custom', 'people', 'nature', 'foods', 'activity', 'places', 'objects', 'symbols', 'flags'];\n\nvar ModifierPickerMenu = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPickerMenu, _React$PureComponent);\n\n function ModifierPickerMenu() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPickerMenu);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.handleClick = function (e) {\n _this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }, _this.handleDocumentClick = function (e) {\n if (_this.node && !_this.node.contains(e.target)) {\n _this.props.onClose();\n }\n }, _this.setRef = function (c) {\n _this.node = c;\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n ModifierPickerMenu.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n };\n\n ModifierPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n this.removeListeners();\n };\n\n ModifierPickerMenu.prototype.attachListeners = function attachListeners() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.removeListeners = function removeListeners() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n ModifierPickerMenu.prototype.render = function render() {\n var active = this.props.active;\n\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: 'emoji-picker-dropdown__modifiers__menu', style: { display: active ? 'block' : 'none' }, ref: this.setRef },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 1\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 1,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 2\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 2,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 3\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 3,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 4\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 4,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 5\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 5,\n backgroundImageFn: backgroundImageFn\n })),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('button', {\n onClick: this.handleClick,\n 'data-index': 6\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: 6,\n backgroundImageFn: backgroundImageFn\n }))\n );\n };\n\n return ModifierPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar ModifierPicker = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(ModifierPicker, _React$PureComponent2);\n\n function ModifierPicker() {\n var _temp2, _this2, _ret2;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, ModifierPicker);\n\n for (var _len2 = arguments.length, args = Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return _ret2 = (_temp2 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.handleClick = function () {\n if (_this2.props.active) {\n _this2.props.onClose();\n } else {\n _this2.props.onOpen();\n }\n }, _this2.handleSelect = function (modifier) {\n _this2.props.onChange(modifier);\n _this2.props.onClose();\n }, _temp2), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret2);\n }\n\n ModifierPicker.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n modifier = _props.modifier;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'emoji-picker-dropdown__modifiers'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(Emoji, {\n emoji: 'fist',\n set: 'twitter',\n size: 22,\n sheetSize: 32,\n skin: modifier,\n onClick: this.handleClick,\n backgroundImageFn: backgroundImageFn\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPickerMenu, {\n active: active,\n onSelect: this.handleSelect,\n onClose: this.props.onClose\n }));\n };\n\n return ModifierPicker;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar EmojiPickerMenu = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class3 = (_temp4 = _class4 = function (_React$PureComponent3) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerMenu, _React$PureComponent3);\n\n function EmojiPickerMenu() {\n var _temp3, _this3, _ret3;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerMenu);\n\n for (var _len3 = arguments.length, args = Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return _ret3 = (_temp3 = (_this3 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent3.call.apply(_React$PureComponent3, [this].concat(args))), _this3), _this3.state = {\n modifierOpen: false\n }, _this3.handleDocumentClick = function (e) {\n if (_this3.node && !_this3.node.contains(e.target)) {\n _this3.props.onClose();\n }\n }, _this3.setRef = function (c) {\n _this3.node = c;\n }, _this3.getI18n = function () {\n var intl = _this3.props.intl;\n\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom)\n }\n };\n }, _this3.handleClick = function (emoji) {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n _this3.props.onClose();\n _this3.props.onPick(emoji);\n }, _this3.handleModifierOpen = function () {\n _this3.setState({ modifierOpen: true });\n }, _this3.handleModifierClose = function () {\n _this3.setState({ modifierOpen: false });\n }, _this3.handleModifierChange = function (modifier) {\n _this3.props.onSkinTone(modifier);\n }, _temp3), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this3, _ret3);\n }\n\n EmojiPickerMenu.prototype.componentDidMount = function componentDidMount() {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.componentWillUnmount = function componentWillUnmount() {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n };\n\n EmojiPickerMenu.prototype.render = function render() {\n var _props2 = this.props,\n loading = _props2.loading,\n style = _props2.style,\n intl = _props2.intl,\n custom_emojis = _props2.custom_emojis,\n skinTone = _props2.skinTone,\n frequentlyUsedEmojis = _props2.frequentlyUsedEmojis;\n\n\n if (loading) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: { width: 299 }\n });\n }\n\n var title = intl.formatMessage(messages.emoji);\n var modifierOpen = this.state.modifierOpen;\n\n\n return __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emoji-picker-dropdown__menu', { selecting: modifierOpen }), style: style, ref: this.setRef },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPicker, {\n perLine: 8,\n emojiSize: 22,\n sheetSize: 32,\n custom: Object(__WEBPACK_IMPORTED_MODULE_10__emoji_emoji__[\"buildCustomEmojis\"])(custom_emojis),\n color: '',\n emoji: '',\n set: 'twitter',\n title: title,\n i18n: this.getI18n(),\n onClick: this.handleClick,\n include: categoriesSort,\n recent: frequentlyUsedEmojis,\n skin: skinTone,\n showPreview: false,\n backgroundImageFn: backgroundImageFn,\n emojiTooltip: true\n }),\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(ModifierPicker, {\n active: modifierOpen,\n modifier: skinTone,\n onOpen: this.handleModifierOpen,\n onClose: this.handleModifierClose,\n onChange: this.handleModifierChange\n })\n );\n };\n\n return EmojiPickerMenu;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent), _class4.defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: []\n}, _temp4)) || _class3;\n\nvar EmojiPickerDropdown = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class5 = function (_React$PureComponent4) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(EmojiPickerDropdown, _React$PureComponent4);\n\n function EmojiPickerDropdown() {\n var _temp5, _this4, _ret4;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, EmojiPickerDropdown);\n\n for (var _len4 = arguments.length, args = Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return _ret4 = (_temp5 = (_this4 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent4.call.apply(_React$PureComponent4, [this].concat(args))), _this4), _this4.state = {\n active: false,\n loading: false\n }, _this4.setRef = function (c) {\n _this4.dropdown = c;\n }, _this4.onShowDropdown = function () {\n _this4.setState({ active: true });\n\n if (!EmojiPicker) {\n _this4.setState({ loading: true });\n\n Object(__WEBPACK_IMPORTED_MODULE_6__ui_util_async_components__[\"g\" /* EmojiPicker */])().then(function (EmojiMart) {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n _this4.setState({ loading: false });\n }).catch(function () {\n _this4.setState({ loading: false });\n });\n }\n }, _this4.onHideDropdown = function () {\n _this4.setState({ active: false });\n }, _this4.onToggle = function (e) {\n if (!_this4.state.loading && (!e.key || e.key === 'Enter')) {\n if (_this4.state.active) {\n _this4.onHideDropdown();\n } else {\n _this4.onShowDropdown();\n }\n }\n }, _this4.handleKeyDown = function (e) {\n if (e.key === 'Escape') {\n _this4.onHideDropdown();\n }\n }, _this4.setTargetRef = function (c) {\n _this4.target = c;\n }, _this4.findTarget = function () {\n return _this4.target;\n }, _temp5), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this4, _ret4);\n }\n\n EmojiPickerDropdown.prototype.render = function render() {\n var _props3 = this.props,\n intl = _props3.intl,\n onPickEmoji = _props3.onPickEmoji,\n onSkinTone = _props3.onSkinTone,\n skinTone = _props3.skinTone,\n frequentlyUsedEmojis = _props3.frequentlyUsedEmojis;\n\n var title = intl.formatMessage(messages.emoji);\n var _state = this.state,\n active = _state.active,\n loading = _state.loading;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'emoji-picker-dropdown',\n onKeyDown: this.handleKeyDown\n }, void 0, __WEBPACK_IMPORTED_MODULE_4_react___default.a.createElement(\n 'div',\n { ref: this.setTargetRef, className: 'emoji-button', title: title, 'aria-label': title, 'aria-expanded': active, role: 'button', onClick: this.onToggle, onKeyDown: this.onToggle, tabIndex: 0 },\n __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('img', {\n className: __WEBPACK_IMPORTED_MODULE_8_classnames___default()('emojione', { 'pulse-loading': active && loading }),\n alt: '\\uD83D\\uDE42',\n src: assetHost + '/emoji/1f602.svg'\n })\n ), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_overlays_lib_Overlay___default.a, {\n show: active,\n placement: 'bottom',\n target: this.findTarget\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(EmojiPickerMenu, {\n custom_emojis: this.props.custom_emojis,\n loading: loading,\n onClose: this.onHideDropdown,\n onPick: onPickEmoji,\n onSkinTone: onSkinTone,\n skinTone: skinTone,\n frequentlyUsedEmojis: frequentlyUsedEmojis\n })));\n };\n\n return EmojiPickerDropdown;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class5;\n\n\n/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(34)))\n\n/***/ }),\n\n/***/ 305:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_form__ = __webpack_require__(306);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n mediaIds: state.getIn(['compose', 'media_attachments']).map(function (item) {\n return item.get('id');\n })\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 306:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadForm; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__ = __webpack_require__(307);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_upload_container__ = __webpack_require__(309);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\nvar UploadForm = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadForm, _ImmutablePureCompone);\n\n function UploadForm() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadForm);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n UploadForm.prototype.render = function render() {\n var mediaIds = this.props.mediaIds;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_upload_progress_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__uploads-wrapper'\n }, void 0, mediaIds.map(function (id) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_upload_container__[\"a\" /* default */], {\n id: id\n }, id);\n })));\n };\n\n return UploadForm;\n}(__WEBPACK_IMPORTED_MODULE_7_react_immutable_pure_component___default.a), _class.propTypes = {\n mediaIds: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.list.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 307:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload_progress__ = __webpack_require__(308);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress'])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload_progress__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 308:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return UploadProgress; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_intl__ = __webpack_require__(6);\n\n\n\n\n\n\n\n\n\n\nvar UploadProgress = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(UploadProgress, _React$PureComponent);\n\n function UploadProgress() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, UploadProgress);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n UploadProgress.prototype.render = function render() {\n var _props = this.props,\n active = _props.active,\n progress = _props.progress;\n\n\n if (!active) {\n return null;\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__icon'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-upload'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__message'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'upload_progress.label',\n defaultMessage: 'Uploading...'\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__backdrop'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { width: 0 },\n style: { width: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(progress) }\n }, void 0, function (_ref) {\n var width = _ref.width;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'upload-progress__tracker',\n style: { width: width + '%' }\n });\n }))));\n };\n\n return UploadProgress;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 309:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_upload__ = __webpack_require__(310);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state, _ref) {\n var id = _ref.id;\n return {\n media: state.getIn(['compose', 'media_attachments']).find(function (item) {\n return item.get('id') === id;\n })\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n\n onUndo: function onUndo(id) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"S\" /* undoUploadCompose */])(id));\n },\n\n onDescriptionChange: function onDescriptionChange(id, description) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"I\" /* changeUploadCompose */])(id, description));\n }\n\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_upload__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 310:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Upload; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames__ = __webpack_require__(10);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_classnames__);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n undo: {\n 'id': 'upload_form.undo',\n 'defaultMessage': 'Undo'\n },\n description: {\n 'id': 'upload_form.description',\n 'defaultMessage': 'Describe for the visually impaired'\n }\n});\n\nvar Upload = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Upload, _ImmutablePureCompone);\n\n function Upload() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Upload);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.state = {\n hovered: false,\n focused: false,\n dirtyDescription: null\n }, _this.handleUndoClick = function () {\n _this.props.onUndo(_this.props.media.get('id'));\n }, _this.handleInputChange = function (e) {\n _this.setState({ dirtyDescription: e.target.value });\n }, _this.handleMouseEnter = function () {\n _this.setState({ hovered: true });\n }, _this.handleMouseLeave = function () {\n _this.setState({ hovered: false });\n }, _this.handleInputFocus = function () {\n _this.setState({ focused: true });\n }, _this.handleInputBlur = function () {\n var dirtyDescription = _this.state.dirtyDescription;\n\n\n _this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n _this.props.onDescriptionChange(_this.props.media.get('id'), dirtyDescription);\n }\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Upload.prototype.render = function render() {\n var _this2 = this;\n\n var _props = this.props,\n intl = _props.intl,\n media = _props.media;\n\n var active = this.state.hovered || this.state.focused;\n var description = this.state.dirtyDescription || media.get('description') || '';\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload',\n onMouseEnter: this.handleMouseEnter,\n onMouseLeave: this.handleMouseLeave\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { scale: 0.8 },\n style: { scale: __WEBPACK_IMPORTED_MODULE_9_react_motion_lib_spring___default()(1, { stiffness: 180, damping: 12 }) }\n }, void 0, function (_ref) {\n var scale = _ref.scale;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__upload-thumbnail',\n style: { transform: 'scale(' + scale + ')', backgroundImage: 'url(' + media.get('preview_url') + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_icon_button__[\"a\" /* default */], {\n icon: 'times',\n title: intl.formatMessage(messages.undo),\n size: 36,\n onClick: _this2.handleUndoClick\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: __WEBPACK_IMPORTED_MODULE_12_classnames___default()('compose-form__upload-description', { active: active })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.description)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n placeholder: intl.formatMessage(messages.description),\n type: 'text',\n value: description,\n maxLength: 420,\n onFocus: _this2.handleInputFocus,\n onChange: _this2.handleInputChange,\n onBlur: _this2.handleInputBlur\n }))));\n }));\n };\n\n return Upload;\n}(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default.a), _class2.propTypes = {\n media: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n onUndo: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onDescriptionChange: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 311:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__components_warning__ = __webpack_require__(312);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_5__initial_state__[\"e\" /* me */], 'locked'])\n };\n};\n\nvar WarningWrapper = function WarningWrapper(_ref) {\n var needsLockWarning = _ref.needsLockWarning;\n\n if (needsLockWarning) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3__components_warning__[\"a\" /* default */], {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.lock_disclaimer',\n defaultMessage: 'Your account is not {locked}. Anyone can follow you to view your follower-only posts.',\n values: { locked: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/profile'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_4_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'compose_form.lock_disclaimer.lock',\n defaultMessage: 'locked'\n })) }\n })\n });\n }\n\n return null;\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(mapStateToProps)(WarningWrapper));\n\n/***/ }),\n\n/***/ 312:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Warning; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring__);\n\n\n\n\n\n\n\n\n\nvar Warning = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Warning, _React$PureComponent);\n\n function Warning() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Warning);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n Warning.prototype.render = function render() {\n var message = this.props.message;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_6_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'compose-form__warning',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, message);\n });\n };\n\n return Warning;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\n\n\n/***/ }),\n\n/***/ 313:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (immutable) */ __webpack_exports__[\"a\"] = countableText;\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__url_regex__ = __webpack_require__(314);\n\n\nvar urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nfunction countableText(inputText) {\n return inputText.replace(__WEBPACK_IMPORTED_MODULE_0__url_regex__[\"a\" /* urlRegex */], urlPlaceholder).replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};\n\n/***/ }),\n\n/***/ 314:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return urlRegex; });\nvar regexen = {};\n\nvar regexSupplant = function regexSupplant(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nvar stringSupplant = function stringSupplant(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function (match, name) {\n return values[name] || '';\n });\n};\n\nvar urlRegex = function () {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp('(?:(?:' + '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' + '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' + 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' + 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' + 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' + 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' + 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' + 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' + 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' + 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' + 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' + 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' + 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' + 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' + 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' + 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' + 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' + 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' + 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' + 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' + 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' + 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' + 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' + 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' + 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' + 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' + 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' + 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' + 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' + 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' + 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' + 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' + 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' + 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' + 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' + 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' + 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' + 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' + 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' + 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' + 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' + 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' + 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' + 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' + 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' + 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' + 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' + 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' + 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' + 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' + 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' + 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' + 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' + 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' + 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' + 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' + 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' + 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' + 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' + 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' + 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' + 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' + 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' + 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' + 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' + 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' + 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' + 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' + 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' + 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' + 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' + 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' + 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' + 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' + 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' + 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' + 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' + 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' + 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' + 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' + 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' + 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' + 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' + 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' + 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' + 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' + 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' + 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp('(?:(?:' + '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' + 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' + 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' + 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' + 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' + 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' + 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' + 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' + 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' + 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' + 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' + ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant('\\\\(' + '(?:' + '#{validGeneralUrlPathChars}+' + '|' +\n // allow one nested level of balanced parentheses\n '(?:' + '#{validGeneralUrlPathChars}*' + '\\\\(' + '#{validGeneralUrlPathChars}+' + '\\\\)' + '#{validGeneralUrlPathChars}*' + ')' + ')' + '\\\\)', 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' + '(?:' + '#{validGeneralUrlPathChars}*' + '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' + '#{validUrlPathEndingChars}' + ')|(?:@#{validGeneralUrlPathChars}+\\/)' + ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant('(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')', 'gi');\n return regexen.validUrl;\n}();\n\n/***/ }),\n\n/***/ 315:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_compose_form__ = __webpack_require__(286);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__actions_compose__ = __webpack_require__(15);\n\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(text) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"C\" /* changeCompose */])(text));\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"R\" /* submitCompose */])());\n },\n onClearSuggestions: function onClearSuggestions() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"J\" /* clearComposeSuggestions */])());\n },\n onFetchSuggestions: function onFetchSuggestions(token) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"K\" /* fetchComposeSuggestions */])(token));\n },\n onSuggestionSelected: function onSuggestionSelected(position, token, accountId) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"Q\" /* selectComposeSuggestion */])(position, token, accountId));\n },\n onChangeSpoilerText: function onChangeSpoilerText(checked) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"E\" /* changeComposeSpoilerText */])(checked));\n },\n onPaste: function onPaste(files) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"U\" /* uploadCompose */])(files));\n },\n onPickEmoji: function onPickEmoji(position, data) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_2__actions_compose__[\"L\" /* insertEmojiCompose */])(position, data));\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_1__components_compose_form__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 752:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\nObject.defineProperty(__webpack_exports__, \"__esModule\", { value: true });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Compose; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__ = __webpack_require__(315);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__ = __webpack_require__(879);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__actions_compose__ = __webpack_require__(15);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__containers_search_container__ = __webpack_require__(880);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__ = __webpack_require__(881);\n\n\n\n\n\nvar _dec, _class;\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"f\" /* defineMessages */])({\n start: {\n 'id': 'getting_started.heading',\n 'defaultMessage': 'Getting started'\n },\n home_timeline: {\n 'id': 'tabs_bar.home',\n 'defaultMessage': 'Home'\n },\n notifications: {\n 'id': 'tabs_bar.notifications',\n 'defaultMessage': 'Notifications'\n },\n public: {\n 'id': 'navigation_bar.public_timeline',\n 'defaultMessage': 'Federated timeline'\n },\n community: {\n 'id': 'navigation_bar.community_timeline',\n 'defaultMessage': 'Local timeline'\n },\n preferences: {\n 'id': 'navigation_bar.preferences',\n 'defaultMessage': 'Preferences'\n },\n logout: {\n 'id': 'navigation_bar.logout',\n 'defaultMessage': 'Logout'\n }\n});\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden'])\n };\n};\n\nvar Compose = (_dec = Object(__WEBPACK_IMPORTED_MODULE_7_react_redux__[\"connect\"])(mapStateToProps), _dec(_class = Object(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Compose, _React$PureComponent);\n\n function Compose() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Compose);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args))), _this), _this.onFocus = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(true));\n }, _this.onBlur = function () {\n _this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"H\" /* changeComposing */])(false));\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Compose.prototype.componentDidMount = function componentDidMount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"N\" /* mountCompose */])());\n };\n\n Compose.prototype.componentWillUnmount = function componentWillUnmount() {\n this.props.dispatch(Object(__WEBPACK_IMPORTED_MODULE_8__actions_compose__[\"T\" /* unmountCompose */])());\n };\n\n Compose.prototype.render = function render() {\n var _props = this.props,\n multiColumn = _props.multiColumn,\n showSearch = _props.showSearch,\n intl = _props.intl;\n\n\n var header = '';\n\n if (multiColumn) {\n var columns = this.props.columns;\n\n header = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('nav', {\n className: 'drawer__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/getting-started',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.start),\n 'aria-label': intl.formatMessage(messages.start)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-asterisk'\n })), !columns.some(function (column) {\n return column.get('id') === 'HOME';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/home',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.home_timeline),\n 'aria-label': intl.formatMessage(messages.home_timeline)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-home'\n })), !columns.some(function (column) {\n return column.get('id') === 'NOTIFICATIONS';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/notifications',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.notifications),\n 'aria-label': intl.formatMessage(messages.notifications)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-bell'\n })), !columns.some(function (column) {\n return column.get('id') === 'COMMUNITY';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public/local',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.community),\n 'aria-label': intl.formatMessage(messages.community)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-users'\n })), !columns.some(function (column) {\n return column.get('id') === 'PUBLIC';\n }) && __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n to: '/timelines/public',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.public),\n 'aria-label': intl.formatMessage(messages.public)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-globe'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/preferences',\n className: 'drawer__tab',\n title: intl.formatMessage(messages.preferences),\n 'aria-label': intl.formatMessage(messages.preferences)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-cog'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/auth/sign_out',\n className: 'drawer__tab',\n 'data-method': 'delete',\n title: intl.formatMessage(messages.logout),\n 'aria-label': intl.formatMessage(messages.logout)\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n role: 'img',\n className: 'fa fa-fw fa-sign-out'\n })));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer'\n }, void 0, header, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_11__containers_search_container__[\"a\" /* default */], {}), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__pager'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner',\n onFocus: this.onFocus\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6__containers_navigation_container__[\"a\" /* default */], {\n onClose: this.onBlur\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5__containers_compose_form_container__[\"a\" /* default */], {})), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_12__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { x: -100 },\n style: { x: __WEBPACK_IMPORTED_MODULE_13_react_motion_lib_spring___default()(showSearch ? 0 : -100, { stiffness: 210, damping: 20 }) }\n }, void 0, function (_ref) {\n var x = _ref.x;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'drawer__inner darker',\n style: { transform: 'translateX(' + x + '%)', visibility: x === -100 ? 'hidden' : 'visible' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_14__containers_search_results_container__[\"a\" /* default */], {}));\n })));\n };\n\n return Compose;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class) || _class);\n\n\n/***/ }),\n\n/***/ 777:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__selectors__ = __webpack_require__(69);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_account__ = __webpack_require__(778);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__actions_accounts__ = __webpack_require__(22);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__actions_modal__ = __webpack_require__(31);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__initial_state__ = __webpack_require__(18);\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"f\" /* defineMessages */])({\n unfollowConfirm: {\n 'id': 'confirmations.unfollow.confirm',\n 'defaultMessage': 'Unfollow'\n }\n});\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var getAccount = Object(__WEBPACK_IMPORTED_MODULE_4__selectors__[\"c\" /* makeGetAccount */])();\n\n var mapStateToProps = function mapStateToProps(state, props) {\n return {\n account: getAccount(state, props.id)\n };\n };\n\n return mapStateToProps;\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch, _ref) {\n var intl = _ref.intl;\n return {\n onFollow: function onFollow(account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (__WEBPACK_IMPORTED_MODULE_8__initial_state__[\"g\" /* unfollowModal */]) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_7__actions_modal__[\"d\" /* openModal */])('CONFIRM', {\n message: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'confirmations.unfollow.message',\n defaultMessage: 'Are you sure you want to unfollow {name}?',\n values: { name: __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {}, void 0, '@', account.get('acct')) }\n }),\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: function onConfirm() {\n return dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n }));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"E\" /* unfollowAccount */])(account.get('id')));\n }\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"A\" /* followAccount */])(account.get('id')));\n }\n },\n onBlock: function onBlock(account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"D\" /* unblockAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"r\" /* blockAccount */])(account.get('id')));\n }\n },\n onMute: function onMute(account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"F\" /* unmuteAccount */])(account.get('id')));\n } else {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_6__actions_accounts__[\"B\" /* muteAccount */])(account.get('id')));\n }\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_3_react_intl__[\"g\" /* injectIntl */])(Object(__WEBPACK_IMPORTED_MODULE_2_react_redux__[\"connect\"])(makeMapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_5__components_account__[\"a\" /* default */])));\n\n/***/ }),\n\n/***/ 778:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Account; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__display_name__ = __webpack_require__(56);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_13__initial_state__ = __webpack_require__(18);\n\n\n\n\n\nvar _class, _class2, _temp2;\n\n\n\n\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"f\" /* defineMessages */])({\n follow: {\n 'id': 'account.follow',\n 'defaultMessage': 'Follow'\n },\n unfollow: {\n 'id': 'account.unfollow',\n 'defaultMessage': 'Unfollow'\n },\n requested: {\n 'id': 'account.requested',\n 'defaultMessage': 'Awaiting approval'\n },\n unblock: {\n 'id': 'account.unblock',\n 'defaultMessage': 'Unblock @{name}'\n },\n unmute: {\n 'id': 'account.unmute',\n 'defaultMessage': 'Unmute @{name}'\n }\n});\n\nvar Account = Object(__WEBPACK_IMPORTED_MODULE_11_react_intl__[\"g\" /* injectIntl */])(_class = (_temp2 = _class2 = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Account, _ImmutablePureCompone);\n\n function Account() {\n var _temp, _this, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Account);\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 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.call.apply(_ImmutablePureCompone, [this].concat(args))), _this), _this.handleFollow = function () {\n _this.props.onFollow(_this.props.account);\n }, _this.handleBlock = function () {\n _this.props.onBlock(_this.props.account);\n }, _this.handleMute = function () {\n _this.props.onMute(_this.props.account);\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this, _ret);\n }\n\n Account.prototype.render = function render() {\n var _props = this.props,\n account = _props.account,\n intl = _props.intl,\n hidden = _props.hidden;\n\n\n if (!account) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {});\n }\n\n if (hidden) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {}, void 0, account.get('display_name'), account.get('username'));\n }\n\n var buttons = void 0;\n\n if (account.get('id') !== __WEBPACK_IMPORTED_MODULE_13__initial_state__[\"e\" /* me */] && account.get('relationship', null) !== null) {\n var following = account.getIn(['relationship', 'following']);\n var requested = account.getIn(['relationship', 'requested']);\n var blocking = account.getIn(['relationship', 'blocking']);\n var muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n disabled: true,\n icon: 'hourglass',\n title: intl.formatMessage(messages.requested)\n });\n } else if (blocking) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'unlock-alt',\n title: intl.formatMessage(messages.unblock, { name: account.get('username') }),\n onClick: this.handleBlock\n });\n } else if (muting) {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n active: true,\n icon: 'volume-up',\n title: intl.formatMessage(messages.unmute, { name: account.get('username') }),\n onClick: this.handleMute\n });\n } else {\n buttons = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10__icon_button__[\"a\" /* default */], {\n icon: following ? 'user-times' : 'user-plus',\n title: intl.formatMessage(following ? messages.unfollow : messages.follow),\n onClick: this.handleFollow,\n active: following\n });\n }\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__permalink__[\"a\" /* default */], {\n className: 'account__display-name',\n href: account.get('url'),\n to: '/accounts/' + account.get('id')\n }, account.get('id'), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__avatar-wrapper'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__avatar__[\"a\" /* default */], {\n account: account,\n size: 36\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__display_name__[\"a\" /* default */], {\n account: account\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'account__relationship'\n }, void 0, buttons)));\n };\n\n return Account;\n}(__WEBPACK_IMPORTED_MODULE_12_react_immutable_pure_component___default.a), _class2.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired,\n onFollow: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onBlock: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n onMute: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.func.isRequired,\n intl: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.object.isRequired,\n hidden: __WEBPACK_IMPORTED_MODULE_6_prop_types___default.a.bool\n}, _temp2)) || _class;\n\n\n\n/***/ }),\n\n/***/ 802:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return NavigationBar; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types__ = __webpack_require__(5);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_prop_types__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_avatar__ = __webpack_require__(55);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__components_icon_button__ = __webpack_require__(19);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__components_permalink__ = __webpack_require__(270);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\n\nvar NavigationBar = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(NavigationBar, _ImmutablePureCompone);\n\n function NavigationBar() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, NavigationBar);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n NavigationBar.prototype.render = function render() {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'navigation-bar'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, this.props.account.get('acct')), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__components_avatar__[\"a\" /* default */], {\n account: this.props.account,\n size: 40\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'navigation-bar__profile'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9__components_permalink__[\"a\" /* default */], {\n href: this.props.account.get('url'),\n to: '/accounts/' + this.props.account.get('id')\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('strong', {\n className: 'navigation-bar__profile-account'\n }, void 0, '@', this.props.account.get('acct'))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('a', {\n href: '/settings/profile',\n className: 'navigation-bar__profile-edit'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_10_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'navigation_bar.edit_profile',\n defaultMessage: 'Edit profile'\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__components_icon_button__[\"a\" /* default */], {\n title: '',\n icon: 'close',\n onClick: this.props.onClose\n }));\n };\n\n return NavigationBar;\n}(__WEBPACK_IMPORTED_MODULE_11_react_immutable_pure_component___default.a), _class.propTypes = {\n account: __WEBPACK_IMPORTED_MODULE_6_react_immutable_proptypes___default.a.map.isRequired,\n onClose: __WEBPACK_IMPORTED_MODULE_5_prop_types___default.a.func.isRequired\n}, _temp);\n\n\n/***/ }),\n\n/***/ 803:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return Search; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__ = __webpack_require__(97);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__ = __webpack_require__(26);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__ = __webpack_require__(27);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring__);\n\n\n\n\n\nvar _class;\n\n\n\n\n\n\n\n\nvar messages = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"f\" /* defineMessages */])({\n placeholder: {\n 'id': 'search.placeholder',\n 'defaultMessage': 'Search'\n }\n});\n\nvar SearchPopout = function (_React$PureComponent) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchPopout, _React$PureComponent);\n\n function SearchPopout() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchPopout);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent.apply(this, arguments));\n }\n\n SearchPopout.prototype.render = function render() {\n var style = this.props.style;\n\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n style: Object.assign({}, style, { position: 'absolute', width: 285 })\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__ui_util_optional_motion__[\"a\" /* default */], {\n defaultStyle: { opacity: 0, scaleX: 0.85, scaleY: 0.75 },\n style: { opacity: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleX: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }), scaleY: __WEBPACK_IMPORTED_MODULE_8_react_motion_lib_spring___default()(1, { damping: 35, stiffness: 400 }) }\n }, void 0, function (_ref) {\n var opacity = _ref.opacity,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY;\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-popout',\n style: { opacity: opacity, transform: 'scale(' + scaleX + ', ' + scaleY + ')' }\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('h4', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.search_format',\n defaultMessage: 'Advanced search format'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('ul', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '#example'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.hashtag',\n defaultMessage: 'hashtag'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, '@username@domain'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.user',\n defaultMessage: 'user'\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('li', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('em', {}, void 0, 'URL'), ' ', __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.status',\n defaultMessage: 'status'\n }))), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_popout.tips.text',\n defaultMessage: 'Simple text returns matching display names, usernames and hashtags'\n }));\n }));\n };\n\n return SearchPopout;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent);\n\nvar Search = Object(__WEBPACK_IMPORTED_MODULE_5_react_intl__[\"g\" /* injectIntl */])(_class = function (_React$PureComponent2) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(Search, _React$PureComponent2);\n\n function Search() {\n var _temp, _this2, _ret;\n\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, Search);\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 = (_this2 = __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _React$PureComponent2.call.apply(_React$PureComponent2, [this].concat(args))), _this2), _this2.state = {\n expanded: false\n }, _this2.handleChange = function (e) {\n _this2.props.onChange(e.target.value);\n }, _this2.handleClear = function (e) {\n e.preventDefault();\n\n if (_this2.props.value.length > 0 || _this2.props.submitted) {\n _this2.props.onClear();\n }\n }, _this2.handleKeyDown = function (e) {\n if (e.key === 'Enter') {\n e.preventDefault();\n _this2.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }, _this2.handleFocus = function () {\n _this2.setState({ expanded: true });\n _this2.props.onShow();\n }, _this2.handleBlur = function () {\n _this2.setState({ expanded: false });\n }, _temp), __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(_this2, _ret);\n }\n\n Search.prototype.noop = function noop() {};\n\n Search.prototype.render = function render() {\n var _props = this.props,\n intl = _props.intl,\n value = _props.value,\n submitted = _props.submitted;\n var expanded = this.state.expanded;\n\n var hasValue = value.length > 0 || submitted;\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('label', {}, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('span', {\n style: { display: 'none' }\n }, void 0, intl.formatMessage(messages.placeholder)), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('input', {\n className: 'search__input',\n type: 'text',\n placeholder: intl.formatMessage(messages.placeholder),\n value: value,\n onChange: this.handleChange,\n onKeyUp: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n role: 'button',\n tabIndex: '0',\n className: 'search__icon',\n onClick: this.handleClear\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n className: 'fa fa-search ' + (hasValue ? '' : 'active')\n }), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('i', {\n 'aria-label': intl.formatMessage(messages.placeholder),\n className: 'fa fa-times-circle ' + (hasValue ? 'active' : '')\n })), __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_overlays_lib_Overlay___default.a, {\n show: expanded && !hasValue,\n placement: 'bottom',\n target: this\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(SearchPopout, {})));\n };\n\n return Search;\n}(__WEBPACK_IMPORTED_MODULE_4_react___default.a.PureComponent)) || _class;\n\n\n\n/***/ }),\n\n/***/ 879:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__ = __webpack_require__(802);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__initial_state__ = __webpack_require__(18);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n account: state.getIn(['accounts', __WEBPACK_IMPORTED_MODULE_2__initial_state__[\"e\" /* me */]])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_navigation_bar__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 880:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__actions_search__ = __webpack_require__(73);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_search__ = __webpack_require__(803);\n\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted'])\n };\n};\n\nvar mapDispatchToProps = function mapDispatchToProps(dispatch) {\n return {\n onChange: function onChange(value) {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"e\" /* changeSearch */])(value));\n },\n onClear: function onClear() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"f\" /* clearSearch */])());\n },\n onSubmit: function onSubmit() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"h\" /* submitSearch */])());\n },\n onShow: function onShow() {\n dispatch(Object(__WEBPACK_IMPORTED_MODULE_1__actions_search__[\"g\" /* showSearch */])());\n }\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps, mapDispatchToProps)(__WEBPACK_IMPORTED_MODULE_2__components_search__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 881:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_redux__ = __webpack_require__(9);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__components_search_results__ = __webpack_require__(882);\n\n\n\nvar mapStateToProps = function mapStateToProps(state) {\n return {\n results: state.getIn(['search', 'results'])\n };\n};\n\n/* harmony default export */ __webpack_exports__[\"a\"] = (Object(__WEBPACK_IMPORTED_MODULE_0_react_redux__[\"connect\"])(mapStateToProps)(__WEBPACK_IMPORTED_MODULE_1__components_search_results__[\"a\" /* default */]));\n\n/***/ }),\n\n/***/ 882:\n/***/ (function(module, __webpack_exports__, __webpack_require__) {\n\n\"use strict\";\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"a\", function() { return SearchResults; });\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__ = __webpack_require__(2);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__ = __webpack_require__(1);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__ = __webpack_require__(3);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__ = __webpack_require__(4);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react__ = __webpack_require__(0);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_react__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__ = __webpack_require__(12);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes__);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_react_intl__ = __webpack_require__(6);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__containers_account_container__ = __webpack_require__(777);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__containers_status_container__ = __webpack_require__(261);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_react_router_dom__ = __webpack_require__(58);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__ = __webpack_require__(11);\n/* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component__);\n\n\n\n\n\nvar _class, _temp;\n\n\n\n\n\n\n\n\n\nvar SearchResults = (_temp = _class = function (_ImmutablePureCompone) {\n __WEBPACK_IMPORTED_MODULE_3_babel_runtime_helpers_inherits___default()(SearchResults, _ImmutablePureCompone);\n\n function SearchResults() {\n __WEBPACK_IMPORTED_MODULE_1_babel_runtime_helpers_classCallCheck___default()(this, SearchResults);\n\n return __WEBPACK_IMPORTED_MODULE_2_babel_runtime_helpers_possibleConstructorReturn___default()(this, _ImmutablePureCompone.apply(this, arguments));\n }\n\n SearchResults.prototype.render = function render() {\n var results = this.props.results;\n\n\n var accounts = void 0,\n statuses = void 0,\n hashtags = void 0;\n var count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('accounts').map(function (accountId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_7__containers_account_container__[\"a\" /* default */], {\n id: accountId\n }, accountId);\n }));\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('statuses').map(function (statusId) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_8__containers_status_container__[\"a\" /* default */], {\n id: statusId\n }, statusId);\n }));\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__section'\n }, void 0, results.get('hashtags').map(function (hashtag) {\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_9_react_router_dom__[\"b\" /* Link */], {\n className: 'search-results__hashtag',\n to: '/timelines/tag/' + hashtag\n }, hashtag, '#', hashtag);\n }));\n }\n\n return __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()('div', {\n className: 'search-results__header'\n }, void 0, __WEBPACK_IMPORTED_MODULE_0_babel_runtime_helpers_jsx___default()(__WEBPACK_IMPORTED_MODULE_6_react_intl__[\"b\" /* FormattedMessage */], {\n id: 'search_results.total',\n defaultMessage: '{count, number} {count, plural, one {result} other {results}}',\n values: { count: count }\n })), accounts, statuses, hashtags);\n };\n\n return SearchResults;\n}(__WEBPACK_IMPORTED_MODULE_10_react_immutable_pure_component___default.a), _class.propTypes = {\n results: __WEBPACK_IMPORTED_MODULE_5_react_immutable_proptypes___default.a.map.isRequired\n}, _temp);\n\n\n/***/ })\n\n});\n\n\n// WEBPACK FOOTER //\n// features/compose-4617f6e912b5bfa71c43.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Status from '../components/status';\nimport { makeGetStatus } from '../selectors';\nimport {\n replyCompose,\n mentionCompose,\n} from '../actions/compose';\nimport {\n reblog,\n favourite,\n unreblog,\n unfavourite,\n pin,\n unpin,\n} from '../actions/interactions';\nimport {\n blockAccount,\n muteAccount,\n} from '../actions/accounts';\nimport { muteStatus, unmuteStatus, deleteStatus } from '../actions/statuses';\nimport { initReport } from '../actions/reports';\nimport { openModal } from '../actions/modal';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { boostModal, deleteModal } from '../initial_state';\n\nconst messages = defineMessages({\n deleteConfirm: { id: 'confirmations.delete.confirm', defaultMessage: 'Delete' },\n deleteMessage: { id: 'confirmations.delete.message', defaultMessage: 'Are you sure you want to delete this status?' },\n blockConfirm: { id: 'confirmations.block.confirm', defaultMessage: 'Block' },\n muteConfirm: { id: 'confirmations.mute.confirm', defaultMessage: 'Mute' },\n});\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = (state, props) => ({\n status: getStatus(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onReply (status, router) {\n dispatch(replyCompose(status, router));\n },\n\n onModalReblog (status) {\n dispatch(reblog(status));\n },\n\n onReblog (status, e) {\n if (status.get('reblogged')) {\n dispatch(unreblog(status));\n } else {\n if (e.shiftKey || !boostModal) {\n this.onModalReblog(status);\n } else {\n dispatch(openModal('BOOST', { status, onReblog: this.onModalReblog }));\n }\n }\n },\n\n onFavourite (status) {\n if (status.get('favourited')) {\n dispatch(unfavourite(status));\n } else {\n dispatch(favourite(status));\n }\n },\n\n onPin (status) {\n if (status.get('pinned')) {\n dispatch(unpin(status));\n } else {\n dispatch(pin(status));\n }\n },\n\n onEmbed (status) {\n dispatch(openModal('EMBED', { url: status.get('url') }));\n },\n\n onDelete (status) {\n if (!deleteModal) {\n dispatch(deleteStatus(status.get('id')));\n } else {\n dispatch(openModal('CONFIRM', {\n message: intl.formatMessage(messages.deleteMessage),\n confirm: intl.formatMessage(messages.deleteConfirm),\n onConfirm: () => dispatch(deleteStatus(status.get('id'))),\n }));\n }\n },\n\n onMention (account, router) {\n dispatch(mentionCompose(account, router));\n },\n\n onOpenMedia (media, index) {\n dispatch(openModal('MEDIA', { media, index }));\n },\n\n onOpenVideo (media, time) {\n dispatch(openModal('VIDEO', { media, time }));\n },\n\n onBlock (account) {\n dispatch(openModal('CONFIRM', {\n message: @{account.get('acct')} }} />,\n confirm: intl.formatMessage(messages.blockConfirm),\n onConfirm: () => dispatch(blockAccount(account.get('id'))),\n }));\n },\n\n onReport (status) {\n dispatch(initReport(status.get('account'), status));\n },\n\n onMute (account) {\n dispatch(openModal('CONFIRM', {\n message: @{account.get('acct')} }} />,\n confirm: intl.formatMessage(messages.muteConfirm),\n onConfirm: () => dispatch(muteAccount(account.get('id'))),\n }));\n },\n\n onMuteConversation (status) {\n if (status.get('muted')) {\n dispatch(unmuteStatus(status.get('id')));\n } else {\n dispatch(muteStatus(status.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Status));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/status_container.js","import React from 'react';\nimport CharacterCounter from './character_counter';\nimport Button from '../../../components/button';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport ReplyIndicatorContainer from '../containers/reply_indicator_container';\nimport AutosuggestTextarea from '../../../components/autosuggest_textarea';\nimport UploadButtonContainer from '../containers/upload_button_container';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport Collapsable from '../../../components/collapsable';\nimport SpoilerButtonContainer from '../containers/spoiler_button_container';\nimport PrivacyDropdownContainer from '../containers/privacy_dropdown_container';\nimport SensitiveButtonContainer from '../containers/sensitive_button_container';\nimport EmojiPickerDropdown from '../containers/emoji_picker_dropdown_container';\nimport UploadFormContainer from '../containers/upload_form_container';\nimport WarningContainer from '../containers/warning_container';\nimport { isMobile } from '../../../is_mobile';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { length } from 'stringz';\nimport { countableText } from '../util/counter';\n\nconst messages = defineMessages({\n placeholder: { id: 'compose_form.placeholder', defaultMessage: 'What is on your mind?' },\n spoiler_placeholder: { id: 'compose_form.spoiler_placeholder', defaultMessage: 'Write your warning here' },\n publish: { id: 'compose_form.publish', defaultMessage: 'Toot' },\n publishLoud: { id: 'compose_form.publish_loud', defaultMessage: '{publish}!' },\n});\n\n@injectIntl\nexport default class ComposeForm extends ImmutablePureComponent {\n\n static propTypes = {\n intl: PropTypes.object.isRequired,\n text: PropTypes.string.isRequired,\n suggestion_token: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n spoiler: PropTypes.bool,\n privacy: PropTypes.string,\n spoiler_text: PropTypes.string,\n focusDate: PropTypes.instanceOf(Date),\n preselectDate: PropTypes.instanceOf(Date),\n is_submitting: PropTypes.bool,\n is_uploading: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClearSuggestions: PropTypes.func.isRequired,\n onFetchSuggestions: PropTypes.func.isRequired,\n onSuggestionSelected: PropTypes.func.isRequired,\n onChangeSpoilerText: PropTypes.func.isRequired,\n onPaste: PropTypes.func.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n showSearch: PropTypes.bool,\n };\n\n static defaultProps = {\n showSearch: false,\n };\n\n handleChange = (e) => {\n this.props.onChange(e.target.value);\n }\n\n handleKeyDown = (e) => {\n if (e.keyCode === 13 && (e.ctrlKey || e.metaKey)) {\n this.handleSubmit();\n }\n }\n\n handleSubmit = () => {\n if (this.props.text !== this.autosuggestTextarea.textarea.value) {\n // Something changed the text inside the textarea (e.g. browser extensions like Grammarly)\n // Update the state to match the current text\n this.props.onChange(this.autosuggestTextarea.textarea.value);\n }\n\n this.props.onSubmit();\n }\n\n onSuggestionsClearRequested = () => {\n this.props.onClearSuggestions();\n }\n\n onSuggestionsFetchRequested = (token) => {\n this.props.onFetchSuggestions(token);\n }\n\n onSuggestionSelected = (tokenStart, token, value) => {\n this._restoreCaret = null;\n this.props.onSuggestionSelected(tokenStart, token, value);\n }\n\n handleChangeSpoilerText = (e) => {\n this.props.onChangeSpoilerText(e.target.value);\n }\n\n componentWillReceiveProps (nextProps) {\n // If this is the update where we've finished uploading,\n // save the last caret position so we can restore it below!\n if (!nextProps.is_uploading && this.props.is_uploading) {\n this._restoreCaret = this.autosuggestTextarea.textarea.selectionStart;\n }\n }\n\n componentDidUpdate (prevProps) {\n // This statement does several things:\n // - If we're beginning a reply, and,\n // - Replying to zero or one users, places the cursor at the end of the textbox.\n // - Replying to more than one user, selects any usernames past the first;\n // this provides a convenient shortcut to drop everyone else from the conversation.\n // - If we've just finished uploading an image, and have a saved caret position,\n // restores the cursor to that position after the text changes!\n if (this.props.focusDate !== prevProps.focusDate || (prevProps.is_uploading && !this.props.is_uploading && typeof this._restoreCaret === 'number')) {\n let selectionEnd, selectionStart;\n\n if (this.props.preselectDate !== prevProps.preselectDate) {\n selectionEnd = this.props.text.length;\n selectionStart = this.props.text.search(/\\s/) + 1;\n } else if (typeof this._restoreCaret === 'number') {\n selectionStart = this._restoreCaret;\n selectionEnd = this._restoreCaret;\n } else {\n selectionEnd = this.props.text.length;\n selectionStart = selectionEnd;\n }\n\n this.autosuggestTextarea.textarea.setSelectionRange(selectionStart, selectionEnd);\n this.autosuggestTextarea.textarea.focus();\n } else if(prevProps.is_submitting && !this.props.is_submitting) {\n this.autosuggestTextarea.textarea.focus();\n }\n }\n\n setAutosuggestTextarea = (c) => {\n this.autosuggestTextarea = c;\n }\n\n handleEmojiPick = (data) => {\n const position = this.autosuggestTextarea.textarea.selectionStart;\n const emojiChar = data.native;\n this._restoreCaret = position + emojiChar.length + 1;\n this.props.onPickEmoji(position, data);\n }\n\n render () {\n const { intl, onPaste, showSearch } = this.props;\n const disabled = this.props.is_submitting;\n const text = [this.props.spoiler_text, countableText(this.props.text)].join('');\n\n let publishText = '';\n\n if (this.props.privacy === 'private' || this.props.privacy === 'direct') {\n publishText = {intl.formatMessage(messages.publish)};\n } else {\n publishText = this.props.privacy !== 'unlisted' ? intl.formatMessage(messages.publishLoud, { publish: intl.formatMessage(messages.publish) }) : intl.formatMessage(messages.publish);\n }\n\n return (\n
\n \n
\n \n
\n
\n\n \n\n \n\n
\n \n\n \n
\n\n
\n \n
\n\n
\n
\n \n \n \n \n
\n\n
\n
\n
\n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/compose_form.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { length } from 'stringz';\n\nexport default class CharacterCounter extends React.PureComponent {\n\n static propTypes = {\n text: PropTypes.string.isRequired,\n max: PropTypes.number.isRequired,\n };\n\n checkRemainingText (diff) {\n if (diff < 0) {\n return {diff};\n }\n\n return {diff};\n }\n\n render () {\n const diff = this.props.max - length(this.props.text);\n return this.checkRemainingText(diff);\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/character_counter.js","import { connect } from 'react-redux';\nimport { cancelReplyCompose } from '../../../actions/compose';\nimport { makeGetStatus } from '../../../selectors';\nimport ReplyIndicator from '../components/reply_indicator';\n\nconst makeMapStateToProps = () => {\n const getStatus = makeGetStatus();\n\n const mapStateToProps = state => ({\n status: getStatus(state, state.getIn(['compose', 'in_reply_to'])),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = dispatch => ({\n\n onCancel () {\n dispatch(cancelReplyCompose());\n },\n\n});\n\nexport default connect(makeMapStateToProps, mapDispatchToProps)(ReplyIndicator);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/reply_indicator_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport DisplayName from '../../../components/display_name';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nconst messages = defineMessages({\n cancel: { id: 'reply_indicator.cancel', defaultMessage: 'Cancel' },\n});\n\n@injectIntl\nexport default class ReplyIndicator extends ImmutablePureComponent {\n\n static contextTypes = {\n router: PropTypes.object,\n };\n\n static propTypes = {\n status: ImmutablePropTypes.map,\n onCancel: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleClick = () => {\n this.props.onCancel();\n }\n\n handleAccountClick = (e) => {\n if (e.button === 0) {\n e.preventDefault();\n this.context.router.history.push(`/accounts/${this.props.status.getIn(['account', 'id'])}`);\n }\n }\n\n render () {\n const { status, intl } = this.props;\n\n if (!status) {\n return null;\n }\n\n const content = { __html: status.get('contentHtml') };\n\n return (\n
\n
\n
\n\n \n
\n \n
\n
\n\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/reply_indicator.js","import React from 'react';\nimport AutosuggestAccountContainer from '../features/compose/containers/autosuggest_account_container';\nimport AutosuggestEmoji from './autosuggest_emoji';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport { isRtl } from '../rtl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport Textarea from 'react-textarea-autosize';\nimport classNames from 'classnames';\n\nconst textAtCursorMatchesToken = (str, caretPosition) => {\n let word;\n\n let left = str.slice(0, caretPosition).search(/\\S+$/);\n let right = str.slice(caretPosition).search(/\\s/);\n\n if (right < 0) {\n word = str.slice(left);\n } else {\n word = str.slice(left, right + caretPosition);\n }\n\n if (!word || word.trim().length < 3 || ['@', ':'].indexOf(word[0]) === -1) {\n return [null, null];\n }\n\n word = word.trim().toLowerCase();\n\n if (word.length > 0) {\n return [left + 1, word];\n } else {\n return [null, null];\n }\n};\n\nexport default class AutosuggestTextarea extends ImmutablePureComponent {\n\n static propTypes = {\n value: PropTypes.string,\n suggestions: ImmutablePropTypes.list,\n disabled: PropTypes.bool,\n placeholder: PropTypes.string,\n onSuggestionSelected: PropTypes.func.isRequired,\n onSuggestionsClearRequested: PropTypes.func.isRequired,\n onSuggestionsFetchRequested: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onKeyUp: PropTypes.func,\n onKeyDown: PropTypes.func,\n onPaste: PropTypes.func.isRequired,\n autoFocus: PropTypes.bool,\n };\n\n static defaultProps = {\n autoFocus: true,\n };\n\n state = {\n suggestionsHidden: false,\n selectedSuggestion: 0,\n lastToken: null,\n tokenStart: 0,\n };\n\n onChange = (e) => {\n const [ tokenStart, token ] = textAtCursorMatchesToken(e.target.value, e.target.selectionStart);\n\n if (token !== null && this.state.lastToken !== token) {\n this.setState({ lastToken: token, selectedSuggestion: 0, tokenStart });\n this.props.onSuggestionsFetchRequested(token);\n } else if (token === null) {\n this.setState({ lastToken: null });\n this.props.onSuggestionsClearRequested();\n }\n\n this.props.onChange(e);\n }\n\n onKeyDown = (e) => {\n const { suggestions, disabled } = this.props;\n const { selectedSuggestion, suggestionsHidden } = this.state;\n\n if (disabled) {\n e.preventDefault();\n return;\n }\n\n switch(e.key) {\n case 'Escape':\n if (!suggestionsHidden) {\n e.preventDefault();\n this.setState({ suggestionsHidden: true });\n }\n\n break;\n case 'ArrowDown':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n this.setState({ selectedSuggestion: Math.min(selectedSuggestion + 1, suggestions.size - 1) });\n }\n\n break;\n case 'ArrowUp':\n if (suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n this.setState({ selectedSuggestion: Math.max(selectedSuggestion - 1, 0) });\n }\n\n break;\n case 'Enter':\n case 'Tab':\n // Select suggestion\n if (this.state.lastToken !== null && suggestions.size > 0 && !suggestionsHidden) {\n e.preventDefault();\n e.stopPropagation();\n this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestions.get(selectedSuggestion));\n }\n\n break;\n }\n\n if (e.defaultPrevented || !this.props.onKeyDown) {\n return;\n }\n\n this.props.onKeyDown(e);\n }\n\n onKeyUp = e => {\n if (e.key === 'Escape' && this.state.suggestionsHidden) {\n document.querySelector('.ui').parentElement.focus();\n }\n\n if (this.props.onKeyUp) {\n this.props.onKeyUp(e);\n }\n }\n\n onBlur = () => {\n this.setState({ suggestionsHidden: true });\n }\n\n onSuggestionClick = (e) => {\n const suggestion = this.props.suggestions.get(e.currentTarget.getAttribute('data-index'));\n e.preventDefault();\n this.props.onSuggestionSelected(this.state.tokenStart, this.state.lastToken, suggestion);\n this.textarea.focus();\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.suggestions !== this.props.suggestions && nextProps.suggestions.size > 0 && this.state.suggestionsHidden) {\n this.setState({ suggestionsHidden: false });\n }\n }\n\n setTextarea = (c) => {\n this.textarea = c;\n }\n\n onPaste = (e) => {\n if (e.clipboardData && e.clipboardData.files.length === 1) {\n this.props.onPaste(e.clipboardData.files);\n e.preventDefault();\n }\n }\n\n renderSuggestion = (suggestion, i) => {\n const { selectedSuggestion } = this.state;\n let inner, key;\n\n if (typeof suggestion === 'object') {\n inner = ;\n key = suggestion.id;\n } else {\n inner = ;\n key = suggestion;\n }\n\n return (\n
\n {inner}\n
\n );\n }\n\n render () {\n const { value, suggestions, disabled, placeholder, autoFocus } = this.props;\n const { suggestionsHidden } = this.state;\n const style = { direction: 'ltr' };\n\n if (isRtl(value)) {\n style.direction = 'rtl';\n }\n\n return (\n
\n \n\n
\n {suggestions.map(this.renderSuggestion)}\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_textarea.js","import { connect } from 'react-redux';\nimport AutosuggestAccount from '../components/autosuggest_account';\nimport { makeGetAccount } from '../../../selectors';\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, { id }) => ({\n account: getAccount(state, id),\n });\n\n return mapStateToProps;\n};\n\nexport default connect(makeMapStateToProps)(AutosuggestAccount);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/autosuggest_account_container.js","import React from 'react';\nimport Avatar from '../../../components/avatar';\nimport DisplayName from '../../../components/display_name';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class AutosuggestAccount extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { account } = this.props;\n\n return (\n
\n
\n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/autosuggest_account.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport unicodeMapping from '../features/emoji/emoji_unicode_mapping_light';\n\nconst assetHost = process.env.CDN_HOST || '';\n\nexport default class AutosuggestEmoji extends React.PureComponent {\n\n static propTypes = {\n emoji: PropTypes.object.isRequired,\n };\n\n render () {\n const { emoji } = this.props;\n let url;\n\n if (emoji.custom) {\n url = emoji.imageUrl;\n } else {\n const mapping = unicodeMapping[emoji.native] || unicodeMapping[emoji.native.replace(/\\uFE0F$/, '')];\n\n if (!mapping) {\n return null;\n }\n\n url = `${assetHost}/emoji/${mapping.filename}.svg`;\n }\n\n return (\n
\n \n\n {emoji.colons}\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/autosuggest_emoji.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nvar isIE = isBrowser ? !!document.documentElement.currentStyle : false;\nvar hiddenTextarea = isBrowser && document.createElement('textarea');\n\nvar HIDDEN_TEXTAREA_STYLE = {\n 'min-height': '0',\n 'max-height': 'none',\n height: '0',\n visibility: 'hidden',\n overflow: 'hidden',\n position: 'absolute',\n 'z-index': '-1000',\n top: '0',\n right: '0'\n};\n\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'font-family', 'font-weight', 'font-size', 'font-style', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-top', 'padding-right', 'padding-bottom', 'padding-left', 'border-top-width', 'border-right-width', 'border-bottom-width', 'border-left-width', 'box-sizing'];\n\nvar computedStyleCache = {};\n\nfunction calculateNodeHeight(uiTextNode, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var minRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n var maxRows = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null;\n\n if (hiddenTextarea.parentNode === null) {\n document.body.appendChild(hiddenTextarea);\n }\n\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var nodeStyling = calculateNodeStyling(uiTextNode, uid, useCache);\n\n if (nodeStyling === null) {\n return null;\n }\n\n var paddingSize = nodeStyling.paddingSize,\n borderSize = nodeStyling.borderSize,\n boxSizing = nodeStyling.boxSizing,\n sizingStyle = nodeStyling.sizingStyle;\n\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n\n Object.keys(sizingStyle).forEach(function (key) {\n hiddenTextarea.style[key] = sizingStyle[key];\n });\n Object.keys(HIDDEN_TEXTAREA_STYLE).forEach(function (key) {\n hiddenTextarea.style.setProperty(key, HIDDEN_TEXTAREA_STYLE[key], 'important');\n });\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || 'x';\n\n var minHeight = -Infinity;\n var maxHeight = Infinity;\n var height = hiddenTextarea.scrollHeight;\n\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height = height + borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height = height - paddingSize;\n }\n\n // measure height of a textarea with a single row\n hiddenTextarea.value = 'x';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n\n if (minRows !== null || maxRows !== null) {\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n height = Math.min(maxHeight, height);\n }\n }\n\n var rowCount = Math.floor(height / singleRowHeight);\n\n return { height: height, minHeight: minHeight, maxHeight: maxHeight, rowCount: rowCount };\n}\n\nfunction calculateNodeStyling(node, uid) {\n var useCache = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (useCache && computedStyleCache[uid]) {\n return computedStyleCache[uid];\n }\n\n var style = window.getComputedStyle(node);\n\n if (style === null) {\n return null;\n }\n\n var sizingStyle = SIZING_STYLE.reduce(function (obj, name) {\n obj[name] = style.getPropertyValue(name);\n return obj;\n }, {});\n\n var boxSizing = sizingStyle['box-sizing'];\n\n // IE (Edge has already correct behaviour) returns content width as computed width\n // so we need to add manually padding and border widths\n if (isIE && boxSizing === 'border-box') {\n sizingStyle.width = parseFloat(sizingStyle.width) + parseFloat(style['border-right-width']) + parseFloat(style['border-left-width']) + parseFloat(style['padding-right']) + parseFloat(style['padding-left']) + 'px';\n }\n\n var paddingSize = parseFloat(sizingStyle['padding-bottom']) + parseFloat(sizingStyle['padding-top']);\n\n var borderSize = parseFloat(sizingStyle['border-bottom-width']) + parseFloat(sizingStyle['border-top-width']);\n\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n\n if (useCache) {\n computedStyleCache[uid] = nodeInfo;\n }\n\n return nodeInfo;\n}\n\nvar purgeCache = function purgeCache(uid) {\n return delete computedStyleCache[uid];\n};\n\nfunction autoInc() {\n var seed = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n\n return function () {\n return ++seed;\n };\n}\n\nvar uid = autoInc();\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\n\n\n\n\n\n\n\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\n\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\n\n\n\n\n\n\n\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\n/**\n * \n */\n\nvar noop = function noop() {};\n\nvar _ref = isBrowser && window.requestAnimationFrame ? [window.requestAnimationFrame, window.cancelAnimationFrame] : [setTimeout, clearTimeout];\nvar onNextFrame = _ref[0];\nvar clearNextFrameAction = _ref[1];\n\nvar TextareaAutosize = function (_React$Component) {\n inherits(TextareaAutosize, _React$Component);\n\n function TextareaAutosize(props) {\n classCallCheck(this, TextareaAutosize);\n\n var _this = possibleConstructorReturn(this, _React$Component.call(this, props));\n\n _this._resizeLock = false;\n\n _this._onRootDOMNode = function (node) {\n _this._rootDOMNode = node;\n\n if (_this.props.inputRef) {\n _this.props.inputRef(node);\n }\n };\n\n _this._onChange = function (event) {\n if (!_this._controlled) {\n _this._resizeComponent();\n }\n _this.props.onChange(event);\n };\n\n _this._resizeComponent = function () {\n var callback = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : noop;\n\n if (typeof _this._rootDOMNode === 'undefined') {\n callback();\n return;\n }\n\n var nodeHeight = calculateNodeHeight(_this._rootDOMNode, _this._uid, _this.props.useCacheForDOMMeasurements, _this.props.minRows, _this.props.maxRows);\n\n if (nodeHeight === null) {\n callback();\n return;\n }\n\n var height = nodeHeight.height,\n minHeight = nodeHeight.minHeight,\n maxHeight = nodeHeight.maxHeight,\n rowCount = nodeHeight.rowCount;\n\n\n _this.rowCount = rowCount;\n\n if (_this.state.height !== height || _this.state.minHeight !== minHeight || _this.state.maxHeight !== maxHeight) {\n _this.setState({ height: height, minHeight: minHeight, maxHeight: maxHeight }, callback);\n return;\n }\n\n callback();\n };\n\n _this.state = {\n height: props.style && props.style.height || 0,\n minHeight: -Infinity,\n maxHeight: Infinity\n };\n\n _this._uid = uid();\n _this._controlled = typeof props.value === 'string';\n return _this;\n }\n\n TextareaAutosize.prototype.render = function render() {\n var _props = this.props,\n _minRows = _props.minRows,\n _maxRows = _props.maxRows,\n _onHeightChange = _props.onHeightChange,\n _useCacheForDOMMeasurements = _props.useCacheForDOMMeasurements,\n _inputRef = _props.inputRef,\n props = objectWithoutProperties(_props, ['minRows', 'maxRows', 'onHeightChange', 'useCacheForDOMMeasurements', 'inputRef']);\n\n\n props.style = _extends({}, props.style, {\n height: this.state.height\n });\n\n var maxHeight = Math.max(props.style.maxHeight || Infinity, this.state.maxHeight);\n\n if (maxHeight < this.state.height) {\n props.style.overflow = 'hidden';\n }\n\n return React.createElement('textarea', _extends({}, props, {\n onChange: this._onChange,\n ref: this._onRootDOMNode\n }));\n };\n\n TextareaAutosize.prototype.componentDidMount = function componentDidMount() {\n var _this2 = this;\n\n this._resizeComponent();\n // Working around Firefox bug which runs resize listeners even when other JS is running at the same moment\n // causing competing rerenders (due to setState in the listener) in React.\n // More can be found here - facebook/react#6324\n this._resizeListener = function () {\n if (_this2._resizeLock) {\n return;\n }\n _this2._resizeLock = true;\n _this2._resizeComponent(function () {\n return _this2._resizeLock = false;\n });\n };\n window.addEventListener('resize', this._resizeListener);\n };\n\n TextareaAutosize.prototype.componentWillReceiveProps = function componentWillReceiveProps() {\n var _this3 = this;\n\n this._clearNextFrame();\n this._onNextFrameActionId = onNextFrame(function () {\n return _this3._resizeComponent();\n });\n };\n\n TextareaAutosize.prototype.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n if (this.state.height !== prevState.height) {\n this.props.onHeightChange(this.state.height, this);\n }\n };\n\n TextareaAutosize.prototype.componentWillUnmount = function componentWillUnmount() {\n this._clearNextFrame();\n window.removeEventListener('resize', this._resizeListener);\n purgeCache(this._uid);\n };\n\n TextareaAutosize.prototype._clearNextFrame = function _clearNextFrame() {\n clearNextFrameAction(this._onNextFrameActionId);\n };\n\n return TextareaAutosize;\n}(React.Component);\n\nTextareaAutosize.propTypes = {\n value: PropTypes.string,\n onChange: PropTypes.func,\n onHeightChange: PropTypes.func,\n useCacheForDOMMeasurements: PropTypes.bool,\n minRows: PropTypes.number,\n maxRows: PropTypes.number,\n inputRef: PropTypes.func\n};\nTextareaAutosize.defaultProps = {\n onChange: noop,\n onHeightChange: noop,\n useCacheForDOMMeasurements: false\n};\n\nexport default TextareaAutosize;\n\n\n\n// WEBPACK FOOTER //\n// ./node_modules/react-textarea-autosize/es/index.js","import { connect } from 'react-redux';\nimport UploadButton from '../components/upload_button';\nimport { uploadCompose } from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n disabled: state.getIn(['compose', 'is_uploading']) || (state.getIn(['compose', 'media_attachments']).size > 3 || state.getIn(['compose', 'media_attachments']).some(m => m.get('type') === 'video')),\n resetFileKey: state.getIn(['compose', 'resetFileKey']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onSelectFile (files) {\n dispatch(uploadCompose(files));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(UploadButton);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_button_container.js","import React from 'react';\nimport IconButton from '../../../components/icon_button';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { connect } from 'react-redux';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\n\nconst messages = defineMessages({\n upload: { id: 'upload_button.label', defaultMessage: 'Add media' },\n});\n\nconst makeMapStateToProps = () => {\n const mapStateToProps = state => ({\n acceptContentTypes: state.getIn(['media_attachments', 'accept_content_types']),\n });\n\n return mapStateToProps;\n};\n\nconst iconStyle = {\n height: null,\n lineHeight: '27px',\n};\n\n@connect(makeMapStateToProps)\n@injectIntl\nexport default class UploadButton extends ImmutablePureComponent {\n\n static propTypes = {\n disabled: PropTypes.bool,\n onSelectFile: PropTypes.func.isRequired,\n style: PropTypes.object,\n resetFileKey: PropTypes.number,\n acceptContentTypes: ImmutablePropTypes.listOf(PropTypes.string).isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n handleChange = (e) => {\n if (e.target.files.length > 0) {\n this.props.onSelectFile(e.target.files);\n }\n }\n\n handleClick = () => {\n this.fileElement.click();\n }\n\n setRef = (c) => {\n this.fileElement = c;\n }\n\n render () {\n\n const { intl, resetFileKey, disabled, acceptContentTypes } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_button.js","import React from 'react';\nimport Motion from '../features/ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport PropTypes from 'prop-types';\n\nconst Collapsable = ({ fullHeight, isVisible, children }) => (\n \n {({ opacity, height }) =>\n
\n {children}\n
\n }\n
\n);\n\nCollapsable.propTypes = {\n fullHeight: PropTypes.number.isRequired,\n isVisible: PropTypes.bool.isRequired,\n children: PropTypes.node.isRequired,\n};\n\nexport default Collapsable;\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/collapsable.js","import { connect } from 'react-redux';\nimport TextIconButton from '../components/text_icon_button';\nimport { changeComposeSpoilerness } from '../../../actions/compose';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n title: { id: 'compose_form.spoiler', defaultMessage: 'Hide text behind warning' },\n});\n\nconst mapStateToProps = (state, { intl }) => ({\n label: 'CW',\n title: intl.formatMessage(messages.title),\n active: state.getIn(['compose', 'spoiler']),\n ariaControls: 'cw-spoiler-input',\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onClick () {\n dispatch(changeComposeSpoilerness());\n },\n\n});\n\nexport default injectIntl(connect(mapStateToProps, mapDispatchToProps)(TextIconButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/spoiler_button_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\n\nexport default class TextIconButton extends React.PureComponent {\n\n static propTypes = {\n label: PropTypes.string.isRequired,\n title: PropTypes.string,\n active: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n ariaControls: PropTypes.string,\n };\n\n handleClick = (e) => {\n e.preventDefault();\n this.props.onClick();\n }\n\n render () {\n const { label, title, active, ariaControls } = this.props;\n\n return (\n \n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/text_icon_button.js","import { connect } from 'react-redux';\nimport PrivacyDropdown from '../components/privacy_dropdown';\nimport { changeComposeVisibility } from '../../../actions/compose';\nimport { openModal, closeModal } from '../../../actions/modal';\nimport { isUserTouching } from '../../../is_mobile';\n\nconst mapStateToProps = state => ({\n isModalOpen: state.get('modal').modalType === 'ACTIONS',\n value: state.getIn(['compose', 'privacy']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeComposeVisibility(value));\n },\n\n isUserTouching,\n onModalOpen: props => dispatch(openModal('ACTIONS', props)),\n onModalClose: () => dispatch(closeModal()),\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(PrivacyDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/privacy_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport IconButton from '../../../components/icon_button';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport detectPassiveEvents from 'detect-passive-events';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n public_short: { id: 'privacy.public.short', defaultMessage: 'Public' },\n public_long: { id: 'privacy.public.long', defaultMessage: 'Post to public timelines' },\n unlisted_short: { id: 'privacy.unlisted.short', defaultMessage: 'Unlisted' },\n unlisted_long: { id: 'privacy.unlisted.long', defaultMessage: 'Do not show in public timelines' },\n private_short: { id: 'privacy.private.short', defaultMessage: 'Followers-only' },\n private_long: { id: 'privacy.private.long', defaultMessage: 'Post to followers only' },\n direct_short: { id: 'privacy.direct.short', defaultMessage: 'Direct' },\n direct_long: { id: 'privacy.direct.long', defaultMessage: 'Post to mentioned users only' },\n change_privacy: { id: 'privacy.change', defaultMessage: 'Adjust status privacy' },\n});\n\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nclass PrivacyDropdownMenu extends React.PureComponent {\n\n static propTypes = {\n style: PropTypes.object,\n items: PropTypes.array.isRequired,\n value: PropTypes.string.isRequired,\n onClose: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n };\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n handleClick = e => {\n if (e.key === 'Escape') {\n this.props.onClose();\n } else if (!e.key || e.key === 'Enter') {\n const value = e.currentTarget.getAttribute('data-index');\n\n e.preventDefault();\n\n this.props.onClose();\n this.props.onChange(value);\n }\n }\n\n componentDidMount () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n componentWillUnmount () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n render () {\n const { style, items, value } = this.props;\n\n return (\n \n {({ opacity, scaleX, scaleY }) => (\n
\n {items.map(item =>\n
\n
\n \n
\n\n
\n {item.text}\n {item.meta}\n
\n
\n )}\n
\n )}\n
\n );\n }\n\n}\n\n@injectIntl\nexport default class PrivacyDropdown extends React.PureComponent {\n\n static propTypes = {\n isUserTouching: PropTypes.func,\n isModalOpen: PropTypes.bool.isRequired,\n onModalOpen: PropTypes.func,\n onModalClose: PropTypes.func,\n value: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n open: false,\n };\n\n handleToggle = () => {\n if (this.props.isUserTouching()) {\n if (this.state.open) {\n this.props.onModalClose();\n } else {\n this.props.onModalOpen({\n actions: this.options.map(option => ({ ...option, active: option.value === this.props.value })),\n onClick: this.handleModalActionClick,\n });\n }\n } else {\n this.setState({ open: !this.state.open });\n }\n }\n\n handleModalActionClick = (e) => {\n e.preventDefault();\n\n const { value } = this.options[e.currentTarget.getAttribute('data-index')];\n\n this.props.onModalClose();\n this.props.onChange(value);\n }\n\n handleKeyDown = e => {\n switch(e.key) {\n case 'Enter':\n this.handleToggle();\n break;\n case 'Escape':\n this.handleClose();\n break;\n }\n }\n\n handleClose = () => {\n this.setState({ open: false });\n }\n\n handleChange = value => {\n this.props.onChange(value);\n }\n\n componentWillMount () {\n const { intl: { formatMessage } } = this.props;\n\n this.options = [\n { icon: 'globe', value: 'public', text: formatMessage(messages.public_short), meta: formatMessage(messages.public_long) },\n { icon: 'unlock-alt', value: 'unlisted', text: formatMessage(messages.unlisted_short), meta: formatMessage(messages.unlisted_long) },\n { icon: 'lock', value: 'private', text: formatMessage(messages.private_short), meta: formatMessage(messages.private_long) },\n { icon: 'envelope', value: 'direct', text: formatMessage(messages.direct_short), meta: formatMessage(messages.direct_long) },\n ];\n }\n\n render () {\n const { value, intl } = this.props;\n const { open } = this.state;\n\n const valueOption = this.options.find(item => item.value === value);\n\n return (\n
\n
\n \n
\n\n \n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/privacy_dropdown.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport IconButton from '../../../components/icon_button';\nimport { changeComposeSensitivity } from '../../../actions/compose';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { injectIntl, defineMessages } from 'react-intl';\n\nconst messages = defineMessages({\n title: { id: 'compose_form.sensitive', defaultMessage: 'Mark media as sensitive' },\n});\n\nconst mapStateToProps = state => ({\n visible: state.getIn(['compose', 'media_attachments']).size > 0,\n active: state.getIn(['compose', 'sensitive']),\n disabled: state.getIn(['compose', 'spoiler']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onClick () {\n dispatch(changeComposeSensitivity());\n },\n\n});\n\nclass SensitiveButton extends React.PureComponent {\n\n static propTypes = {\n visible: PropTypes.bool,\n active: PropTypes.bool,\n disabled: PropTypes.bool,\n onClick: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n render () {\n const { visible, active, disabled, onClick, intl } = this.props;\n\n return (\n \n {({ scale }) => {\n const icon = active ? 'eye-slash' : 'eye';\n const className = classNames('compose-form__sensitive-button', {\n 'compose-form__sensitive-button--visible': visible,\n });\n return (\n
\n \n
\n );\n }}\n
\n );\n }\n\n}\n\nexport default connect(mapStateToProps, mapDispatchToProps)(injectIntl(SensitiveButton));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/sensitive_button_container.js","import { connect } from 'react-redux';\nimport EmojiPickerDropdown from '../components/emoji_picker_dropdown';\nimport { changeSetting } from '../../../actions/settings';\nimport { createSelector } from 'reselect';\nimport { Map as ImmutableMap } from 'immutable';\nimport { useEmoji } from '../../../actions/emojis';\n\nconst perLine = 8;\nconst lines = 2;\n\nconst DEFAULTS = [\n '+1',\n 'grinning',\n 'kissing_heart',\n 'heart_eyes',\n 'laughing',\n 'stuck_out_tongue_winking_eye',\n 'sweat_smile',\n 'joy',\n 'yum',\n 'disappointed',\n 'thinking_face',\n 'weary',\n 'sob',\n 'sunglasses',\n 'heart',\n 'ok_hand',\n];\n\nconst getFrequentlyUsedEmojis = createSelector([\n state => state.getIn(['settings', 'frequentlyUsedEmojis'], ImmutableMap()),\n], emojiCounters => {\n let emojis = emojiCounters\n .keySeq()\n .sort((a, b) => emojiCounters.get(a) - emojiCounters.get(b))\n .reverse()\n .slice(0, perLine * lines)\n .toArray();\n\n if (emojis.length < DEFAULTS.length) {\n emojis = emojis.concat(DEFAULTS.slice(0, DEFAULTS.length - emojis.length));\n }\n\n return emojis;\n});\n\nconst getCustomEmojis = createSelector([\n state => state.get('custom_emojis'),\n], emojis => emojis.filter(e => e.get('visible_in_picker')).sort((a, b) => {\n const aShort = a.get('shortcode').toLowerCase();\n const bShort = b.get('shortcode').toLowerCase();\n\n if (aShort < bShort) {\n return -1;\n } else if (aShort > bShort ) {\n return 1;\n } else {\n return 0;\n }\n}));\n\nconst mapStateToProps = state => ({\n custom_emojis: getCustomEmojis(state),\n skinTone: state.getIn(['settings', 'skinTone']),\n frequentlyUsedEmojis: getFrequentlyUsedEmojis(state),\n});\n\nconst mapDispatchToProps = (dispatch, { onPickEmoji }) => ({\n onSkinTone: skinTone => {\n dispatch(changeSetting(['skinTone'], skinTone));\n },\n\n onPickEmoji: emoji => {\n dispatch(useEmoji(emoji));\n\n if (onPickEmoji) {\n onPickEmoji(emoji);\n }\n },\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(EmojiPickerDropdown);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/emoji_picker_dropdown_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport classNames from 'classnames';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport detectPassiveEvents from 'detect-passive-events';\nimport { buildCustomEmojis } from '../../emoji/emoji';\n\nconst messages = defineMessages({\n emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },\n emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },\n emoji_not_found: { id: 'emoji_button.not_found', defaultMessage: 'No emojos!! (╯°□°)╯︵ ┻━┻' },\n custom: { id: 'emoji_button.custom', defaultMessage: 'Custom' },\n recent: { id: 'emoji_button.recent', defaultMessage: 'Frequently used' },\n search_results: { id: 'emoji_button.search_results', defaultMessage: 'Search results' },\n people: { id: 'emoji_button.people', defaultMessage: 'People' },\n nature: { id: 'emoji_button.nature', defaultMessage: 'Nature' },\n food: { id: 'emoji_button.food', defaultMessage: 'Food & Drink' },\n activity: { id: 'emoji_button.activity', defaultMessage: 'Activity' },\n travel: { id: 'emoji_button.travel', defaultMessage: 'Travel & Places' },\n objects: { id: 'emoji_button.objects', defaultMessage: 'Objects' },\n symbols: { id: 'emoji_button.symbols', defaultMessage: 'Symbols' },\n flags: { id: 'emoji_button.flags', defaultMessage: 'Flags' },\n});\n\nconst assetHost = process.env.CDN_HOST || '';\nlet EmojiPicker, Emoji; // load asynchronously\n\nconst backgroundImageFn = () => `${assetHost}/emoji/sheet.png`;\nconst listenerOptions = detectPassiveEvents.hasSupport ? { passive: true } : false;\n\nconst categoriesSort = [\n 'recent',\n 'custom',\n 'people',\n 'nature',\n 'foods',\n 'activity',\n 'places',\n 'objects',\n 'symbols',\n 'flags',\n];\n\nclass ModifierPickerMenu extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n onSelect: PropTypes.func.isRequired,\n onClose: PropTypes.func.isRequired,\n };\n\n handleClick = e => {\n this.props.onSelect(e.currentTarget.getAttribute('data-index') * 1);\n }\n\n componentWillReceiveProps (nextProps) {\n if (nextProps.active) {\n this.attachListeners();\n } else {\n this.removeListeners();\n }\n }\n\n componentWillUnmount () {\n this.removeListeners();\n }\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n attachListeners () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n removeListeners () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n render () {\n const { active } = this.props;\n\n return (\n
\n \n \n \n \n \n \n
\n );\n }\n\n}\n\nclass ModifierPicker extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n modifier: PropTypes.number,\n onChange: PropTypes.func,\n onClose: PropTypes.func,\n onOpen: PropTypes.func,\n };\n\n handleClick = () => {\n if (this.props.active) {\n this.props.onClose();\n } else {\n this.props.onOpen();\n }\n }\n\n handleSelect = modifier => {\n this.props.onChange(modifier);\n this.props.onClose();\n }\n\n render () {\n const { active, modifier } = this.props;\n\n return (\n
\n \n \n
\n );\n }\n\n}\n\n@injectIntl\nclass EmojiPickerMenu extends React.PureComponent {\n\n static propTypes = {\n custom_emojis: ImmutablePropTypes.list,\n frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n loading: PropTypes.bool,\n onClose: PropTypes.func.isRequired,\n onPick: PropTypes.func.isRequired,\n style: PropTypes.object,\n placement: PropTypes.string,\n arrowOffsetLeft: PropTypes.string,\n arrowOffsetTop: PropTypes.string,\n intl: PropTypes.object.isRequired,\n skinTone: PropTypes.number.isRequired,\n onSkinTone: PropTypes.func.isRequired,\n };\n\n static defaultProps = {\n style: {},\n loading: true,\n placement: 'bottom',\n frequentlyUsedEmojis: [],\n };\n\n state = {\n modifierOpen: false,\n };\n\n handleDocumentClick = e => {\n if (this.node && !this.node.contains(e.target)) {\n this.props.onClose();\n }\n }\n\n componentDidMount () {\n document.addEventListener('click', this.handleDocumentClick, false);\n document.addEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n componentWillUnmount () {\n document.removeEventListener('click', this.handleDocumentClick, false);\n document.removeEventListener('touchend', this.handleDocumentClick, listenerOptions);\n }\n\n setRef = c => {\n this.node = c;\n }\n\n getI18n = () => {\n const { intl } = this.props;\n\n return {\n search: intl.formatMessage(messages.emoji_search),\n notfound: intl.formatMessage(messages.emoji_not_found),\n categories: {\n search: intl.formatMessage(messages.search_results),\n recent: intl.formatMessage(messages.recent),\n people: intl.formatMessage(messages.people),\n nature: intl.formatMessage(messages.nature),\n foods: intl.formatMessage(messages.food),\n activity: intl.formatMessage(messages.activity),\n places: intl.formatMessage(messages.travel),\n objects: intl.formatMessage(messages.objects),\n symbols: intl.formatMessage(messages.symbols),\n flags: intl.formatMessage(messages.flags),\n custom: intl.formatMessage(messages.custom),\n },\n };\n }\n\n handleClick = emoji => {\n if (!emoji.native) {\n emoji.native = emoji.colons;\n }\n\n this.props.onClose();\n this.props.onPick(emoji);\n }\n\n handleModifierOpen = () => {\n this.setState({ modifierOpen: true });\n }\n\n handleModifierClose = () => {\n this.setState({ modifierOpen: false });\n }\n\n handleModifierChange = modifier => {\n this.props.onSkinTone(modifier);\n }\n\n render () {\n const { loading, style, intl, custom_emojis, skinTone, frequentlyUsedEmojis } = this.props;\n\n if (loading) {\n return
;\n }\n\n const title = intl.formatMessage(messages.emoji);\n const { modifierOpen } = this.state;\n\n return (\n
\n \n\n \n
\n );\n }\n\n}\n\n@injectIntl\nexport default class EmojiPickerDropdown extends React.PureComponent {\n\n static propTypes = {\n custom_emojis: ImmutablePropTypes.list,\n frequentlyUsedEmojis: PropTypes.arrayOf(PropTypes.string),\n intl: PropTypes.object.isRequired,\n onPickEmoji: PropTypes.func.isRequired,\n onSkinTone: PropTypes.func.isRequired,\n skinTone: PropTypes.number.isRequired,\n };\n\n state = {\n active: false,\n loading: false,\n };\n\n setRef = (c) => {\n this.dropdown = c;\n }\n\n onShowDropdown = () => {\n this.setState({ active: true });\n\n if (!EmojiPicker) {\n this.setState({ loading: true });\n\n EmojiPickerAsync().then(EmojiMart => {\n EmojiPicker = EmojiMart.Picker;\n Emoji = EmojiMart.Emoji;\n\n this.setState({ loading: false });\n }).catch(() => {\n this.setState({ loading: false });\n });\n }\n }\n\n onHideDropdown = () => {\n this.setState({ active: false });\n }\n\n onToggle = (e) => {\n if (!this.state.loading && (!e.key || e.key === 'Enter')) {\n if (this.state.active) {\n this.onHideDropdown();\n } else {\n this.onShowDropdown();\n }\n }\n }\n\n handleKeyDown = e => {\n if (e.key === 'Escape') {\n this.onHideDropdown();\n }\n }\n\n setTargetRef = c => {\n this.target = c;\n }\n\n findTarget = () => {\n return this.target;\n }\n\n render () {\n const { intl, onPickEmoji, onSkinTone, skinTone, frequentlyUsedEmojis } = this.props;\n const title = intl.formatMessage(messages.emoji);\n const { active, loading } = this.state;\n\n return (\n
\n
\n \n
\n\n \n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.js","import { connect } from 'react-redux';\nimport UploadForm from '../components/upload_form';\n\nconst mapStateToProps = state => ({\n mediaIds: state.getIn(['compose', 'media_attachments']).map(item => item.get('id')),\n});\n\nexport default connect(mapStateToProps)(UploadForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_form_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport UploadProgressContainer from '../containers/upload_progress_container';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport UploadContainer from '../containers/upload_container';\n\nexport default class UploadForm extends ImmutablePureComponent {\n\n static propTypes = {\n mediaIds: ImmutablePropTypes.list.isRequired,\n };\n\n render () {\n const { mediaIds } = this.props;\n\n return (\n
\n \n\n
\n {mediaIds.map(id => (\n \n ))}\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_form.js","import { connect } from 'react-redux';\nimport UploadProgress from '../components/upload_progress';\n\nconst mapStateToProps = state => ({\n active: state.getIn(['compose', 'is_uploading']),\n progress: state.getIn(['compose', 'progress']),\n});\n\nexport default connect(mapStateToProps)(UploadProgress);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_progress_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport { FormattedMessage } from 'react-intl';\n\nexport default class UploadProgress extends React.PureComponent {\n\n static propTypes = {\n active: PropTypes.bool,\n progress: PropTypes.number,\n };\n\n render () {\n const { active, progress } = this.props;\n\n if (!active) {\n return null;\n }\n\n return (\n
\n
\n \n
\n\n
\n \n\n
\n \n {({ width }) =>\n
\n }\n \n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload_progress.js","import { connect } from 'react-redux';\nimport Upload from '../components/upload';\nimport { undoUploadCompose, changeUploadCompose } from '../../../actions/compose';\n\nconst mapStateToProps = (state, { id }) => ({\n media: state.getIn(['compose', 'media_attachments']).find(item => item.get('id') === id),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onUndo: id => {\n dispatch(undoUploadCompose(id));\n },\n\n onDescriptionChange: (id, description) => {\n dispatch(changeUploadCompose(id, description));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Upload);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/upload_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport IconButton from '../../../components/icon_button';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport classNames from 'classnames';\n\nconst messages = defineMessages({\n undo: { id: 'upload_form.undo', defaultMessage: 'Undo' },\n description: { id: 'upload_form.description', defaultMessage: 'Describe for the visually impaired' },\n});\n\n@injectIntl\nexport default class Upload extends ImmutablePureComponent {\n\n static propTypes = {\n media: ImmutablePropTypes.map.isRequired,\n intl: PropTypes.object.isRequired,\n onUndo: PropTypes.func.isRequired,\n onDescriptionChange: PropTypes.func.isRequired,\n };\n\n state = {\n hovered: false,\n focused: false,\n dirtyDescription: null,\n };\n\n handleUndoClick = () => {\n this.props.onUndo(this.props.media.get('id'));\n }\n\n handleInputChange = e => {\n this.setState({ dirtyDescription: e.target.value });\n }\n\n handleMouseEnter = () => {\n this.setState({ hovered: true });\n }\n\n handleMouseLeave = () => {\n this.setState({ hovered: false });\n }\n\n handleInputFocus = () => {\n this.setState({ focused: true });\n }\n\n handleInputBlur = () => {\n const { dirtyDescription } = this.state;\n\n this.setState({ focused: false, dirtyDescription: null });\n\n if (dirtyDescription !== null) {\n this.props.onDescriptionChange(this.props.media.get('id'), dirtyDescription);\n }\n }\n\n render () {\n const { intl, media } = this.props;\n const active = this.state.hovered || this.state.focused;\n const description = this.state.dirtyDescription || media.get('description') || '';\n\n return (\n
\n \n {({ scale }) => (\n
\n \n\n
\n \n
\n
\n )}\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/upload.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport Warning from '../components/warning';\nimport PropTypes from 'prop-types';\nimport { FormattedMessage } from 'react-intl';\nimport { me } from '../../../initial_state';\n\nconst mapStateToProps = state => ({\n needsLockWarning: state.getIn(['compose', 'privacy']) === 'private' && !state.getIn(['accounts', me, 'locked']),\n});\n\nconst WarningWrapper = ({ needsLockWarning }) => {\n if (needsLockWarning) {\n return }} />} />;\n }\n\n return null;\n};\n\nWarningWrapper.propTypes = {\n needsLockWarning: PropTypes.bool,\n};\n\nexport default connect(mapStateToProps)(WarningWrapper);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/warning_container.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nexport default class Warning extends React.PureComponent {\n\n static propTypes = {\n message: PropTypes.node.isRequired,\n };\n\n render () {\n const { message } = this.props;\n\n return (\n \n {({ opacity, scaleX, scaleY }) => (\n
\n {message}\n
\n )}\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/warning.js","import { urlRegex } from './url_regex';\n\nconst urlPlaceholder = 'xxxxxxxxxxxxxxxxxxxxxxx';\n\nexport function countableText(inputText) {\n return inputText\n .replace(urlRegex, urlPlaceholder)\n .replace(/(^|[^\\/\\w])@(([a-z0-9_]+)@[a-z0-9\\.\\-]+[a-z0-9]+)/ig, '$1@$3');\n};\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/util/counter.js","const regexen = {};\n\nconst regexSupplant = function(regex, flags) {\n flags = flags || '';\n if (typeof regex !== 'string') {\n if (regex.global && flags.indexOf('g') < 0) {\n flags += 'g';\n }\n if (regex.ignoreCase && flags.indexOf('i') < 0) {\n flags += 'i';\n }\n if (regex.multiline && flags.indexOf('m') < 0) {\n flags += 'm';\n }\n\n regex = regex.source;\n }\n return new RegExp(regex.replace(/#\\{(\\w+)\\}/g, function(match, name) {\n var newRegex = regexen[name] || '';\n if (typeof newRegex !== 'string') {\n newRegex = newRegex.source;\n }\n return newRegex;\n }), flags);\n};\n\nconst stringSupplant = function(str, values) {\n return str.replace(/#\\{(\\w+)\\}/g, function(match, name) {\n return values[name] || '';\n });\n};\n\nexport const urlRegex = (function() {\n regexen.spaces_group = /\\x09-\\x0D\\x20\\x85\\xA0\\u1680\\u180E\\u2000-\\u200A\\u2028\\u2029\\u202F\\u205F\\u3000/;\n regexen.invalid_chars_group = /\\uFFFE\\uFEFF\\uFFFF\\u202A-\\u202E/;\n regexen.punct = /\\!'#%&'\\(\\)*\\+,\\\\\\-\\.\\/:;<=>\\?@\\[\\]\\^_{|}~\\$/;\n regexen.validUrlPrecedingChars = regexSupplant(/(?:[^A-Za-z0-9@@$###{invalid_chars_group}]|^)/);\n regexen.invalidDomainChars = stringSupplant('#{punct}#{spaces_group}#{invalid_chars_group}', regexen);\n regexen.validDomainChars = regexSupplant(/[^#{invalidDomainChars}]/);\n regexen.validSubdomain = regexSupplant(/(?:(?:#{validDomainChars}(?:[_-]|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validDomainName = regexSupplant(/(?:(?:#{validDomainChars}(?:-|#{validDomainChars})*)?#{validDomainChars}\\.)/);\n regexen.validGTLD = regexSupplant(RegExp(\n '(?:(?:' +\n '삼성|닷컴|닷넷|香格里拉|餐厅|食品|飞利浦|電訊盈科|集团|通販|购物|谷歌|诺基亚|联通|网络|网站|网店|网址|组织机构|移动|珠宝|点看|游戏|淡马锡|机构|書籍|时尚|新闻|政府|' +\n '政务|手表|手机|我爱你|慈善|微博|广东|工行|家電|娱乐|天主教|大拿|大众汽车|在线|嘉里大酒店|嘉里|商标|商店|商城|公益|公司|八卦|健康|信息|佛山|企业|中文网|中信|世界|' +\n 'ポイント|ファッション|セール|ストア|コム|グーグル|クラウド|みんな|คอม|संगठन|नेट|कॉम|همراه|موقع|موبايلي|كوم|كاثوليك|عرب|شبكة|' +\n 'بيتك|بازار|العليان|ارامكو|اتصالات|ابوظبي|קום|сайт|рус|орг|онлайн|москва|ком|католик|дети|' +\n 'zuerich|zone|zippo|zip|zero|zara|zappos|yun|youtube|you|yokohama|yoga|yodobashi|yandex|yamaxun|' +\n 'yahoo|yachts|xyz|xxx|xperia|xin|xihuan|xfinity|xerox|xbox|wtf|wtc|wow|world|works|work|woodside|' +\n 'wolterskluwer|wme|winners|wine|windows|win|williamhill|wiki|wien|whoswho|weir|weibo|wedding|wed|' +\n 'website|weber|webcam|weatherchannel|weather|watches|watch|warman|wanggou|wang|walter|walmart|' +\n 'wales|vuelos|voyage|voto|voting|vote|volvo|volkswagen|vodka|vlaanderen|vivo|viva|vistaprint|' +\n 'vista|vision|visa|virgin|vip|vin|villas|viking|vig|video|viajes|vet|versicherung|' +\n 'vermögensberatung|vermögensberater|verisign|ventures|vegas|vanguard|vana|vacations|ups|uol|uno|' +\n 'university|unicom|uconnect|ubs|ubank|tvs|tushu|tunes|tui|tube|trv|trust|travelersinsurance|' +\n 'travelers|travelchannel|travel|training|trading|trade|toys|toyota|town|tours|total|toshiba|' +\n 'toray|top|tools|tokyo|today|tmall|tkmaxx|tjx|tjmaxx|tirol|tires|tips|tiffany|tienda|tickets|' +\n 'tiaa|theatre|theater|thd|teva|tennis|temasek|telefonica|telecity|tel|technology|tech|team|tdk|' +\n 'tci|taxi|tax|tattoo|tatar|tatamotors|target|taobao|talk|taipei|tab|systems|symantec|sydney|' +\n 'swiss|swiftcover|swatch|suzuki|surgery|surf|support|supply|supplies|sucks|style|study|studio|' +\n 'stream|store|storage|stockholm|stcgroup|stc|statoil|statefarm|statebank|starhub|star|staples|' +\n 'stada|srt|srl|spreadbetting|spot|spiegel|space|soy|sony|song|solutions|solar|sohu|software|' +\n 'softbank|social|soccer|sncf|smile|smart|sling|skype|sky|skin|ski|site|singles|sina|silk|shriram|' +\n 'showtime|show|shouji|shopping|shop|shoes|shiksha|shia|shell|shaw|sharp|shangrila|sfr|sexy|sex|' +\n 'sew|seven|ses|services|sener|select|seek|security|secure|seat|search|scot|scor|scjohnson|' +\n 'science|schwarz|schule|school|scholarships|schmidt|schaeffler|scb|sca|sbs|sbi|saxo|save|sas|' +\n 'sarl|sapo|sap|sanofi|sandvikcoromant|sandvik|samsung|samsclub|salon|sale|sakura|safety|safe|' +\n 'saarland|ryukyu|rwe|run|ruhr|rugby|rsvp|room|rogers|rodeo|rocks|rocher|rmit|rip|rio|ril|' +\n 'rightathome|ricoh|richardli|rich|rexroth|reviews|review|restaurant|rest|republican|report|' +\n 'repair|rentals|rent|ren|reliance|reit|reisen|reise|rehab|redumbrella|redstone|red|recipes|' +\n 'realty|realtor|realestate|read|raid|radio|racing|qvc|quest|quebec|qpon|pwc|pub|prudential|pru|' +\n 'protection|property|properties|promo|progressive|prof|productions|prod|pro|prime|press|praxi|' +\n 'pramerica|post|porn|politie|poker|pohl|pnc|plus|plumbing|playstation|play|place|pizza|pioneer|' +\n 'pink|ping|pin|pid|pictures|pictet|pics|piaget|physio|photos|photography|photo|phone|philips|phd|' +\n 'pharmacy|pfizer|pet|pccw|pay|passagens|party|parts|partners|pars|paris|panerai|panasonic|' +\n 'pamperedchef|page|ovh|ott|otsuka|osaka|origins|orientexpress|organic|org|orange|oracle|open|ooo|' +\n 'onyourside|online|onl|ong|one|omega|ollo|oldnavy|olayangroup|olayan|okinawa|office|off|observer|' +\n 'obi|nyc|ntt|nrw|nra|nowtv|nowruz|now|norton|northwesternmutual|nokia|nissay|nissan|ninja|nikon|' +\n 'nike|nico|nhk|ngo|nfl|nexus|nextdirect|next|news|newholland|new|neustar|network|netflix|netbank|' +\n 'net|nec|nba|navy|natura|nationwide|name|nagoya|nadex|nab|mutuelle|mutual|museum|mtr|mtpc|mtn|' +\n 'msd|movistar|movie|mov|motorcycles|moto|moscow|mortgage|mormon|mopar|montblanc|monster|money|' +\n 'monash|mom|moi|moe|moda|mobily|mobile|mobi|mma|mls|mlb|mitsubishi|mit|mint|mini|mil|microsoft|' +\n 'miami|metlife|merckmsd|meo|menu|men|memorial|meme|melbourne|meet|media|med|mckinsey|mcdonalds|' +\n 'mcd|mba|mattel|maserati|marshalls|marriott|markets|marketing|market|map|mango|management|man|' +\n 'makeup|maison|maif|madrid|macys|luxury|luxe|lupin|lundbeck|ltda|ltd|lplfinancial|lpl|love|lotto|' +\n 'lotte|london|lol|loft|locus|locker|loans|loan|lixil|living|live|lipsy|link|linde|lincoln|limo|' +\n 'limited|lilly|like|lighting|lifestyle|lifeinsurance|life|lidl|liaison|lgbt|lexus|lego|legal|' +\n 'lefrak|leclerc|lease|lds|lawyer|law|latrobe|latino|lat|lasalle|lanxess|landrover|land|lancome|' +\n 'lancia|lancaster|lamer|lamborghini|ladbrokes|lacaixa|kyoto|kuokgroup|kred|krd|kpn|kpmg|kosher|' +\n 'komatsu|koeln|kiwi|kitchen|kindle|kinder|kim|kia|kfh|kerryproperties|kerrylogistics|kerryhotels|' +\n 'kddi|kaufen|juniper|juegos|jprs|jpmorgan|joy|jot|joburg|jobs|jnj|jmp|jll|jlc|jio|jewelry|jetzt|' +\n 'jeep|jcp|jcb|java|jaguar|iwc|iveco|itv|itau|istanbul|ist|ismaili|iselect|irish|ipiranga|' +\n 'investments|intuit|international|intel|int|insure|insurance|institute|ink|ing|info|infiniti|' +\n 'industries|immobilien|immo|imdb|imamat|ikano|iinet|ifm|ieee|icu|ice|icbc|ibm|hyundai|hyatt|' +\n 'hughes|htc|hsbc|how|house|hotmail|hotels|hoteles|hot|hosting|host|hospital|horse|honeywell|' +\n 'honda|homesense|homes|homegoods|homedepot|holiday|holdings|hockey|hkt|hiv|hitachi|hisamitsu|' +\n 'hiphop|hgtv|hermes|here|helsinki|help|healthcare|health|hdfcbank|hdfc|hbo|haus|hangout|hamburg|' +\n 'hair|guru|guitars|guide|guge|gucci|guardian|group|grocery|gripe|green|gratis|graphics|grainger|' +\n 'gov|got|gop|google|goog|goodyear|goodhands|goo|golf|goldpoint|gold|godaddy|gmx|gmo|gmbh|gmail|' +\n 'globo|global|gle|glass|glade|giving|gives|gifts|gift|ggee|george|genting|gent|gea|gdn|gbiz|' +\n 'garden|gap|games|game|gallup|gallo|gallery|gal|fyi|futbol|furniture|fund|fun|fujixerox|fujitsu|' +\n 'ftr|frontier|frontdoor|frogans|frl|fresenius|free|fox|foundation|forum|forsale|forex|ford|' +\n 'football|foodnetwork|food|foo|fly|flsmidth|flowers|florist|flir|flights|flickr|fitness|fit|' +\n 'fishing|fish|firmdale|firestone|fire|financial|finance|final|film|fido|fidelity|fiat|ferrero|' +\n 'ferrari|feedback|fedex|fast|fashion|farmers|farm|fans|fan|family|faith|fairwinds|fail|fage|' +\n 'extraspace|express|exposed|expert|exchange|everbank|events|eus|eurovision|etisalat|esurance|' +\n 'estate|esq|erni|ericsson|equipment|epson|epost|enterprises|engineering|engineer|energy|emerck|' +\n 'email|education|edu|edeka|eco|eat|earth|dvr|dvag|durban|dupont|duns|dunlop|duck|dubai|dtv|drive|' +\n 'download|dot|doosan|domains|doha|dog|dodge|doctor|docs|dnp|diy|dish|discover|discount|directory|' +\n 'direct|digital|diet|diamonds|dhl|dev|design|desi|dentist|dental|democrat|delta|deloitte|dell|' +\n 'delivery|degree|deals|dealer|deal|dds|dclk|day|datsun|dating|date|data|dance|dad|dabur|cyou|' +\n 'cymru|cuisinella|csc|cruises|cruise|crs|crown|cricket|creditunion|creditcard|credit|courses|' +\n 'coupons|coupon|country|corsica|coop|cool|cookingchannel|cooking|contractors|contact|consulting|' +\n 'construction|condos|comsec|computer|compare|company|community|commbank|comcast|com|cologne|' +\n 'college|coffee|codes|coach|clubmed|club|cloud|clothing|clinique|clinic|click|cleaning|claims|' +\n 'cityeats|city|citic|citi|citadel|cisco|circle|cipriani|church|chrysler|chrome|christmas|chloe|' +\n 'chintai|cheap|chat|chase|channel|chanel|cfd|cfa|cern|ceo|center|ceb|cbs|cbre|cbn|cba|catholic|' +\n 'catering|cat|casino|cash|caseih|case|casa|cartier|cars|careers|career|care|cards|caravan|car|' +\n 'capitalone|capital|capetown|canon|cancerresearch|camp|camera|cam|calvinklein|call|cal|cafe|cab|' +\n 'bzh|buzz|buy|business|builders|build|bugatti|budapest|brussels|brother|broker|broadway|' +\n 'bridgestone|bradesco|box|boutique|bot|boston|bostik|bosch|boots|booking|book|boo|bond|bom|bofa|' +\n 'boehringer|boats|bnpparibas|bnl|bmw|bms|blue|bloomberg|blog|blockbuster|blanco|blackfriday|' +\n 'black|biz|bio|bingo|bing|bike|bid|bible|bharti|bet|bestbuy|best|berlin|bentley|beer|beauty|' +\n 'beats|bcn|bcg|bbva|bbt|bbc|bayern|bauhaus|basketball|baseball|bargains|barefoot|barclays|' +\n 'barclaycard|barcelona|bar|bank|band|bananarepublic|banamex|baidu|baby|azure|axa|aws|avianca|' +\n 'autos|auto|author|auspost|audio|audible|audi|auction|attorney|athleta|associates|asia|asda|arte|' +\n 'art|arpa|army|archi|aramco|arab|aquarelle|apple|app|apartments|aol|anz|anquan|android|analytics|' +\n 'amsterdam|amica|amfam|amex|americanfamily|americanexpress|alstom|alsace|ally|allstate|allfinanz|' +\n 'alipay|alibaba|alfaromeo|akdn|airtel|airforce|airbus|aigo|aig|agency|agakhan|africa|afl|' +\n 'afamilycompany|aetna|aero|aeg|adult|ads|adac|actor|active|aco|accountants|accountant|accenture|' +\n 'academy|abudhabi|abogado|able|abc|abbvie|abbott|abb|abarth|aarp|aaa|onion' +\n ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validCCTLD = regexSupplant(RegExp(\n '(?:(?:' +\n '한국|香港|澳門|新加坡|台灣|台湾|中國|中国|გე|ไทย|ලංකා|ഭാരതം|ಭಾರತ|భారత్|சிங்கப்பூர்|இலங்கை|இந்தியா|ଭାରତ|ભારત|ਭਾਰਤ|' +\n 'ভাৰত|ভারত|বাংলা|भारोत|भारतम्|भारत|ڀارت|پاکستان|مليسيا|مصر|قطر|فلسطين|عمان|عراق|سورية|سودان|تونس|' +\n 'بھارت|بارت|ایران|امارات|المغرب|السعودية|الجزائر|الاردن|հայ|қаз|укр|срб|рф|мон|мкд|ею|бел|бг|ελ|' +\n 'zw|zm|za|yt|ye|ws|wf|vu|vn|vi|vg|ve|vc|va|uz|uy|us|um|uk|ug|ua|tz|tw|tv|tt|tr|tp|to|tn|tm|tl|tk|' +\n 'tj|th|tg|tf|td|tc|sz|sy|sx|sv|su|st|ss|sr|so|sn|sm|sl|sk|sj|si|sh|sg|se|sd|sc|sb|sa|rw|ru|rs|ro|' +\n 're|qa|py|pw|pt|ps|pr|pn|pm|pl|pk|ph|pg|pf|pe|pa|om|nz|nu|nr|np|no|nl|ni|ng|nf|ne|nc|na|mz|my|mx|' +\n 'mw|mv|mu|mt|ms|mr|mq|mp|mo|mn|mm|ml|mk|mh|mg|mf|me|md|mc|ma|ly|lv|lu|lt|ls|lr|lk|li|lc|lb|la|kz|' +\n 'ky|kw|kr|kp|kn|km|ki|kh|kg|ke|jp|jo|jm|je|it|is|ir|iq|io|in|im|il|ie|id|hu|ht|hr|hn|hm|hk|gy|gw|' +\n 'gu|gt|gs|gr|gq|gp|gn|gm|gl|gi|gh|gg|gf|ge|gd|gb|ga|fr|fo|fm|fk|fj|fi|eu|et|es|er|eh|eg|ee|ec|dz|' +\n 'do|dm|dk|dj|de|cz|cy|cx|cw|cv|cu|cr|co|cn|cm|cl|ck|ci|ch|cg|cf|cd|cc|ca|bz|by|bw|bv|bt|bs|br|bq|' +\n 'bo|bn|bm|bl|bj|bi|bh|bg|bf|be|bd|bb|ba|az|ax|aw|au|at|as|ar|aq|ao|an|am|al|ai|ag|af|ae|ad|ac' +\n ')(?=[^0-9a-zA-Z@]|$))'));\n regexen.validPunycode = /(?:xn--[0-9a-z]+)/;\n regexen.validSpecialCCTLD = /(?:(?:co|tv)(?=[^0-9a-zA-Z@]|$))/;\n regexen.validDomain = regexSupplant(/(?:#{validSubdomain}*#{validDomainName}(?:#{validGTLD}|#{validCCTLD}|#{validPunycode}))/);\n regexen.validPortNumber = /[0-9]+/;\n regexen.pd = /\\u002d\\u058a\\u05be\\u1400\\u1806\\u2010-\\u2015\\u2e17\\u2e1a\\u2e3a\\u2e40\\u301c\\u3030\\u30a0\\ufe31\\ufe58\\ufe63\\uff0d/;\n regexen.validGeneralUrlPathChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?]/i);\n // Allow URL paths to contain up to two nested levels of balanced parens\n // 1. Used in Wikipedia URLs like /Primer_(film)\n // 2. Used in IIS sessions like /S(dfd346)/\n // 3. Used in Rdio URLs like /track/We_Up_(Album_Version_(Edited))/\n regexen.validUrlBalancedParens = regexSupplant(\n '\\\\(' +\n '(?:' +\n '#{validGeneralUrlPathChars}+' +\n '|' +\n // allow one nested level of balanced parentheses\n '(?:' +\n '#{validGeneralUrlPathChars}*' +\n '\\\\(' +\n '#{validGeneralUrlPathChars}+' +\n '\\\\)' +\n '#{validGeneralUrlPathChars}*' +\n ')' +\n ')' +\n '\\\\)'\n , 'i');\n // Valid end-of-path chracters (so /foo. does not gobble the period).\n // 1. Allow =&# for empty URL parameters and other URL-join artifacts\n regexen.validUrlPathEndingChars = regexSupplant(/[^#{spaces_group}\\(\\)\\?!\\*';:=\\,\\.\\$%\\[\\]#{pd}~&\\|@]|(?:#{validUrlBalancedParens})/i);\n // Allow @ in a url, but only in the middle. Catch things like http://example.com/@user/\n regexen.validUrlPath = regexSupplant('(?:' +\n '(?:' +\n '#{validGeneralUrlPathChars}*' +\n '(?:#{validUrlBalancedParens}#{validGeneralUrlPathChars}*)*' +\n '#{validUrlPathEndingChars}'+\n ')|(?:@#{validGeneralUrlPathChars}+\\/)'+\n ')', 'i');\n regexen.validUrlQueryChars = /[a-z0-9!?\\*'@\\(\\);:&=\\+\\$\\/%#\\[\\]\\-_\\.,~|]/i;\n regexen.validUrlQueryEndingChars = /[a-z0-9_&=#\\/]/i;\n regexen.validUrl = regexSupplant(\n '(' + // $1 URL\n '(https?:\\\\/\\\\/)' + // $2 Protocol\n '(#{validDomain})' + // $3 Domain(s)\n '(?::(#{validPortNumber}))?' + // $4 Port number (optional)\n '(\\\\/#{validUrlPath}*)?' + // $5 URL Path\n '(\\\\?#{validUrlQueryChars}*#{validUrlQueryEndingChars})?' + // $6 Query String\n ')'\n , 'gi');\n return regexen.validUrl;\n}());\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/util/url_regex.js","import { connect } from 'react-redux';\nimport ComposeForm from '../components/compose_form';\nimport { uploadCompose } from '../../../actions/compose';\nimport {\n changeCompose,\n submitCompose,\n clearComposeSuggestions,\n fetchComposeSuggestions,\n selectComposeSuggestion,\n changeComposeSpoilerText,\n insertEmojiCompose,\n} from '../../../actions/compose';\n\nconst mapStateToProps = state => ({\n text: state.getIn(['compose', 'text']),\n suggestion_token: state.getIn(['compose', 'suggestion_token']),\n suggestions: state.getIn(['compose', 'suggestions']),\n spoiler: state.getIn(['compose', 'spoiler']),\n spoiler_text: state.getIn(['compose', 'spoiler_text']),\n privacy: state.getIn(['compose', 'privacy']),\n focusDate: state.getIn(['compose', 'focusDate']),\n preselectDate: state.getIn(['compose', 'preselectDate']),\n is_submitting: state.getIn(['compose', 'is_submitting']),\n is_uploading: state.getIn(['compose', 'is_uploading']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\nconst mapDispatchToProps = (dispatch) => ({\n\n onChange (text) {\n dispatch(changeCompose(text));\n },\n\n onSubmit () {\n dispatch(submitCompose());\n },\n\n onClearSuggestions () {\n dispatch(clearComposeSuggestions());\n },\n\n onFetchSuggestions (token) {\n dispatch(fetchComposeSuggestions(token));\n },\n\n onSuggestionSelected (position, token, accountId) {\n dispatch(selectComposeSuggestion(position, token, accountId));\n },\n\n onChangeSpoilerText (checked) {\n dispatch(changeComposeSpoilerText(checked));\n },\n\n onPaste (files) {\n dispatch(uploadCompose(files));\n },\n\n onPickEmoji (position, data) {\n dispatch(insertEmojiCompose(position, data));\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(ComposeForm);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/compose_form_container.js","import React from 'react';\nimport ComposeFormContainer from './containers/compose_form_container';\nimport NavigationContainer from './containers/navigation_container';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { connect } from 'react-redux';\nimport { mountCompose, unmountCompose } from '../../actions/compose';\nimport { Link } from 'react-router-dom';\nimport { injectIntl, defineMessages } from 'react-intl';\nimport SearchContainer from './containers/search_container';\nimport Motion from '../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\nimport SearchResultsContainer from './containers/search_results_container';\nimport { changeComposing } from '../../actions/compose';\n\nconst messages = defineMessages({\n start: { id: 'getting_started.heading', defaultMessage: 'Getting started' },\n home_timeline: { id: 'tabs_bar.home', defaultMessage: 'Home' },\n notifications: { id: 'tabs_bar.notifications', defaultMessage: 'Notifications' },\n public: { id: 'navigation_bar.public_timeline', defaultMessage: 'Federated timeline' },\n community: { id: 'navigation_bar.community_timeline', defaultMessage: 'Local timeline' },\n preferences: { id: 'navigation_bar.preferences', defaultMessage: 'Preferences' },\n logout: { id: 'navigation_bar.logout', defaultMessage: 'Logout' },\n});\n\nconst mapStateToProps = state => ({\n columns: state.getIn(['settings', 'columns']),\n showSearch: state.getIn(['search', 'submitted']) && !state.getIn(['search', 'hidden']),\n});\n\n@connect(mapStateToProps)\n@injectIntl\nexport default class Compose extends React.PureComponent {\n\n static propTypes = {\n dispatch: PropTypes.func.isRequired,\n columns: ImmutablePropTypes.list.isRequired,\n multiColumn: PropTypes.bool,\n showSearch: PropTypes.bool,\n intl: PropTypes.object.isRequired,\n };\n\n componentDidMount () {\n this.props.dispatch(mountCompose());\n }\n\n componentWillUnmount () {\n this.props.dispatch(unmountCompose());\n }\n\n onFocus = () => {\n this.props.dispatch(changeComposing(true));\n }\n\n onBlur = () => {\n this.props.dispatch(changeComposing(false));\n }\n\n render () {\n const { multiColumn, showSearch, intl } = this.props;\n\n let header = '';\n\n if (multiColumn) {\n const { columns } = this.props;\n header = (\n \n );\n }\n\n return (\n
\n {header}\n\n \n\n
\n
\n \n \n
\n\n \n {({ x }) =>\n
\n \n
\n }\n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/index.js","import React from 'react';\nimport { connect } from 'react-redux';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport { makeGetAccount } from '../selectors';\nimport Account from '../components/account';\nimport {\n followAccount,\n unfollowAccount,\n blockAccount,\n unblockAccount,\n muteAccount,\n unmuteAccount,\n} from '../actions/accounts';\nimport { openModal } from '../actions/modal';\nimport { unfollowModal } from '../initial_state';\n\nconst messages = defineMessages({\n unfollowConfirm: { id: 'confirmations.unfollow.confirm', defaultMessage: 'Unfollow' },\n});\n\nconst makeMapStateToProps = () => {\n const getAccount = makeGetAccount();\n\n const mapStateToProps = (state, props) => ({\n account: getAccount(state, props.id),\n });\n\n return mapStateToProps;\n};\n\nconst mapDispatchToProps = (dispatch, { intl }) => ({\n\n onFollow (account) {\n if (account.getIn(['relationship', 'following']) || account.getIn(['relationship', 'requested'])) {\n if (unfollowModal) {\n dispatch(openModal('CONFIRM', {\n message: @{account.get('acct')} }} />,\n confirm: intl.formatMessage(messages.unfollowConfirm),\n onConfirm: () => dispatch(unfollowAccount(account.get('id'))),\n }));\n } else {\n dispatch(unfollowAccount(account.get('id')));\n }\n } else {\n dispatch(followAccount(account.get('id')));\n }\n },\n\n onBlock (account) {\n if (account.getIn(['relationship', 'blocking'])) {\n dispatch(unblockAccount(account.get('id')));\n } else {\n dispatch(blockAccount(account.get('id')));\n }\n },\n\n onMute (account) {\n if (account.getIn(['relationship', 'muting'])) {\n dispatch(unmuteAccount(account.get('id')));\n } else {\n dispatch(muteAccount(account.get('id')));\n }\n },\n\n});\n\nexport default injectIntl(connect(makeMapStateToProps, mapDispatchToProps)(Account));\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/containers/account_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport PropTypes from 'prop-types';\nimport Avatar from './avatar';\nimport DisplayName from './display_name';\nimport Permalink from './permalink';\nimport IconButton from './icon_button';\nimport { defineMessages, injectIntl } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\nimport { me } from '../initial_state';\n\nconst messages = defineMessages({\n follow: { id: 'account.follow', defaultMessage: 'Follow' },\n unfollow: { id: 'account.unfollow', defaultMessage: 'Unfollow' },\n requested: { id: 'account.requested', defaultMessage: 'Awaiting approval' },\n unblock: { id: 'account.unblock', defaultMessage: 'Unblock @{name}' },\n unmute: { id: 'account.unmute', defaultMessage: 'Unmute @{name}' },\n});\n\n@injectIntl\nexport default class Account extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onFollow: PropTypes.func.isRequired,\n onBlock: PropTypes.func.isRequired,\n onMute: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n hidden: PropTypes.bool,\n };\n\n handleFollow = () => {\n this.props.onFollow(this.props.account);\n }\n\n handleBlock = () => {\n this.props.onBlock(this.props.account);\n }\n\n handleMute = () => {\n this.props.onMute(this.props.account);\n }\n\n render () {\n const { account, intl, hidden } = this.props;\n\n if (!account) {\n return
;\n }\n\n if (hidden) {\n return (\n
\n {account.get('display_name')}\n {account.get('username')}\n
\n );\n }\n\n let buttons;\n\n if (account.get('id') !== me && account.get('relationship', null) !== null) {\n const following = account.getIn(['relationship', 'following']);\n const requested = account.getIn(['relationship', 'requested']);\n const blocking = account.getIn(['relationship', 'blocking']);\n const muting = account.getIn(['relationship', 'muting']);\n\n if (requested) {\n buttons = ;\n } else if (blocking) {\n buttons = ;\n } else if (muting) {\n buttons = ;\n } else {\n buttons = ;\n }\n }\n\n return (\n
\n
\n \n
\n \n
\n\n
\n {buttons}\n
\n
\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/components/account.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport Avatar from '../../../components/avatar';\nimport IconButton from '../../../components/icon_button';\nimport Permalink from '../../../components/permalink';\nimport { FormattedMessage } from 'react-intl';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class NavigationBar extends ImmutablePureComponent {\n\n static propTypes = {\n account: ImmutablePropTypes.map.isRequired,\n onClose: PropTypes.func.isRequired,\n };\n\n render () {\n return (\n
\n \n {this.props.account.get('acct')}\n \n \n\n
\n \n @{this.props.account.get('acct')}\n \n\n \n
\n\n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/navigation_bar.js","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { defineMessages, injectIntl, FormattedMessage } from 'react-intl';\nimport Overlay from 'react-overlays/lib/Overlay';\nimport Motion from '../../ui/util/optional_motion';\nimport spring from 'react-motion/lib/spring';\n\nconst messages = defineMessages({\n placeholder: { id: 'search.placeholder', defaultMessage: 'Search' },\n});\n\nclass SearchPopout extends React.PureComponent {\n\n static propTypes = {\n style: PropTypes.object,\n };\n\n render () {\n const { style } = this.props;\n\n return (\n
\n \n {({ opacity, scaleX, scaleY }) => (\n
\n

\n\n
    \n
  • #example
  • \n
  • @username@domain
  • \n
  • URL
  • \n
  • URL
  • \n
\n\n \n
\n )}\n
\n
\n );\n }\n\n}\n\n@injectIntl\nexport default class Search extends React.PureComponent {\n\n static propTypes = {\n value: PropTypes.string.isRequired,\n submitted: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n onSubmit: PropTypes.func.isRequired,\n onClear: PropTypes.func.isRequired,\n onShow: PropTypes.func.isRequired,\n intl: PropTypes.object.isRequired,\n };\n\n state = {\n expanded: false,\n };\n\n handleChange = (e) => {\n this.props.onChange(e.target.value);\n }\n\n handleClear = (e) => {\n e.preventDefault();\n\n if (this.props.value.length > 0 || this.props.submitted) {\n this.props.onClear();\n }\n }\n\n handleKeyDown = (e) => {\n if (e.key === 'Enter') {\n e.preventDefault();\n this.props.onSubmit();\n } else if (e.key === 'Escape') {\n document.querySelector('.ui').parentElement.focus();\n }\n }\n\n noop () {\n\n }\n\n handleFocus = () => {\n this.setState({ expanded: true });\n this.props.onShow();\n }\n\n handleBlur = () => {\n this.setState({ expanded: false });\n }\n\n render () {\n const { intl, value, submitted } = this.props;\n const { expanded } = this.state;\n const hasValue = value.length > 0 || submitted;\n\n return (\n
\n \n\n
\n \n \n
\n\n \n \n \n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search.js","import { connect } from 'react-redux';\nimport NavigationBar from '../components/navigation_bar';\nimport { me } from '../../../initial_state';\n\nconst mapStateToProps = state => {\n return {\n account: state.getIn(['accounts', me]),\n };\n};\n\nexport default connect(mapStateToProps)(NavigationBar);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/navigation_container.js","import { connect } from 'react-redux';\nimport {\n changeSearch,\n clearSearch,\n submitSearch,\n showSearch,\n} from '../../../actions/search';\nimport Search from '../components/search';\n\nconst mapStateToProps = state => ({\n value: state.getIn(['search', 'value']),\n submitted: state.getIn(['search', 'submitted']),\n});\n\nconst mapDispatchToProps = dispatch => ({\n\n onChange (value) {\n dispatch(changeSearch(value));\n },\n\n onClear () {\n dispatch(clearSearch());\n },\n\n onSubmit () {\n dispatch(submitSearch());\n },\n\n onShow () {\n dispatch(showSearch());\n },\n\n});\n\nexport default connect(mapStateToProps, mapDispatchToProps)(Search);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_container.js","import { connect } from 'react-redux';\nimport SearchResults from '../components/search_results';\n\nconst mapStateToProps = state => ({\n results: state.getIn(['search', 'results']),\n});\n\nexport default connect(mapStateToProps)(SearchResults);\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/containers/search_results_container.js","import React from 'react';\nimport ImmutablePropTypes from 'react-immutable-proptypes';\nimport { FormattedMessage } from 'react-intl';\nimport AccountContainer from '../../../containers/account_container';\nimport StatusContainer from '../../../containers/status_container';\nimport { Link } from 'react-router-dom';\nimport ImmutablePureComponent from 'react-immutable-pure-component';\n\nexport default class SearchResults extends ImmutablePureComponent {\n\n static propTypes = {\n results: ImmutablePropTypes.map.isRequired,\n };\n\n render () {\n const { results } = this.props;\n\n let accounts, statuses, hashtags;\n let count = 0;\n\n if (results.get('accounts') && results.get('accounts').size > 0) {\n count += results.get('accounts').size;\n accounts = (\n
\n {results.get('accounts').map(accountId => )}\n
\n );\n }\n\n if (results.get('statuses') && results.get('statuses').size > 0) {\n count += results.get('statuses').size;\n statuses = (\n
\n {results.get('statuses').map(statusId => )}\n
\n );\n }\n\n if (results.get('hashtags') && results.get('hashtags').size > 0) {\n count += results.get('hashtags').size;\n hashtags = (\n
\n {results.get('hashtags').map(hashtag =>\n \n #{hashtag}\n \n )}\n
\n );\n }\n\n return (\n
\n
\n \n
\n\n {accounts}\n {statuses}\n {hashtags}\n
\n );\n }\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./app/javascript/mastodon/features/compose/components/search_results.js"],"sourceRoot":""}